@visitscotland/component-library 5.79.4 → 5.80.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.
@@ -32,7 +32,7 @@ declare const __VLS_base: import('vue').DefineComponent<import('vue').ExtractPro
32
32
  resetPin: () => void;
33
33
  handleSetMarkerActive: typeof handleSetMarkerActive;
34
34
  handleRemoveMarkerActive: typeof handleRemoveMarkerActive;
35
- markerHovered: import('vue').Ref<any, any> & import('vue').ComputedRef<any>;
35
+ markerHovered: import('vue').Ref<string, string>;
36
36
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
37
37
  markerClick: (...args: any[]) => void;
38
38
  }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
@@ -14,17 +14,9 @@ type Stop = {
14
14
  geometry: Geometry;
15
15
  properties: Properties;
16
16
  };
17
- declare const useItinerariesStore: import('pinia').StoreDefinition<"itineraries", Pick<{
17
+ declare const useItinerariesStore: import('pinia').SetupStoreDefinition<"itineraries", {
18
18
  highlightedStop: Ref<Stop, Stop>;
19
19
  setStopHighlighted: (newStop: any) => void;
20
20
  getHighlightedStopCoordinates: () => number[];
21
- }, "highlightedStop">, Pick<{
22
- highlightedStop: Ref<Stop, Stop>;
23
- setStopHighlighted: (newStop: any) => void;
24
- getHighlightedStopCoordinates: () => number[];
25
- }, never>, Pick<{
26
- highlightedStop: Ref<Stop, Stop>;
27
- setStopHighlighted: (newStop: any) => void;
28
- getHighlightedStopCoordinates: () => number[];
29
- }, "setStopHighlighted" | "getHighlightedStopCoordinates">>;
21
+ }>;
30
22
  export default useItinerariesStore;
@@ -1,5 +1,5 @@
1
1
  import { CludoCredentials } from '../../../types/types';
2
- declare const useFederatedSearchStore: import('pinia').StoreDefinition<"federatedSearch", Pick<{
2
+ declare const useFederatedSearchStore: import('pinia').SetupStoreDefinition<"federatedSearch", {
3
3
  filters: import('vue').Ref<any, any>;
4
4
  currentPage: import('vue').Ref<number, number>;
5
5
  cludoCredentials: import('vue').Ref<{
@@ -40,87 +40,5 @@ declare const useFederatedSearchStore: import('pinia').StoreDefinition<"federate
40
40
  radius: import('vue').Ref<number, number>;
41
41
  postcodeareas: import('vue').Ref<string, string>;
42
42
  cludoApiOperator: import('vue').Ref<string, string>;
43
- }, "filters" | "currentPage" | "isHomePage" | "searchTerm" | "endDate" | "startDate" | "location" | "isLoading" | "cludoCredentials" | "cludoError" | "eventsApi" | "eventsApiError" | "results" | "searchUrl" | "selectedCategory" | "selectedCategoryKey" | "selectedSubCategory" | "selectedSubCategoryKey" | "totalResults" | "totalResultsCludo" | "totalResultsEvents" | "sortBy" | "siteLanguage" | "searchInSessionCount" | "queryInput" | "postcode" | "radius" | "postcodeareas" | "cludoApiOperator">, Pick<{
44
- filters: import('vue').Ref<any, any>;
45
- currentPage: import('vue').Ref<number, number>;
46
- cludoCredentials: import('vue').Ref<{
47
- apiKey: string;
48
- customerId: number;
49
- engineId: number;
50
- }, CludoCredentials | {
51
- apiKey: string;
52
- customerId: number;
53
- engineId: number;
54
- }>;
55
- cludoError: import('vue').Ref<boolean, boolean>;
56
- eventsApi: import('vue').Ref<any, any>;
57
- eventsApiError: import('vue').Ref<boolean, boolean>;
58
- getAutoComplete: () => Promise<any>;
59
- getSearchResults: (isAutoSearch?: boolean) => Promise<void>;
60
- isLoading: import('vue').Ref<boolean, boolean>;
61
- results: import('vue').Ref<any, any>;
62
- searchTerm: import('vue').Ref<string, string>;
63
- searchUrl: import('vue').Ref<any, any>;
64
- selectedCategory: import('vue').Ref<any, any>;
65
- selectedCategoryKey: import('vue').Ref<any, any>;
66
- selectedSubCategory: import('vue').Ref<any[], any[]>;
67
- selectedSubCategoryKey: import('vue').Ref<any[], any[]>;
68
- totalResults: import('vue').Ref<any, any>;
69
- totalResultsCludo: import('vue').Ref<any, any>;
70
- totalResultsEvents: import('vue').Ref<any, any>;
71
- navigateToResultsPage: (resetPageNo?: boolean, fromAutosuggest?: boolean) => Promise<void>;
72
- isHomePage: import('vue').Ref<boolean, boolean>;
73
- startDate: import('vue').Ref<string, string>;
74
- endDate: import('vue').Ref<string, string>;
75
- sortBy: import('vue').Ref<any, any>;
76
- siteLanguage: import('vue').Ref<any, any>;
77
- searchInSessionCount: import('vue').Ref<number, number>;
78
- queryInput: import('vue').Ref<string, string>;
79
- postcode: import('vue').Ref<string, string>;
80
- location: import('vue').Ref<string, string>;
81
- radius: import('vue').Ref<number, number>;
82
- postcodeareas: import('vue').Ref<string, string>;
83
- cludoApiOperator: import('vue').Ref<string, string>;
84
- }, never>, Pick<{
85
- filters: import('vue').Ref<any, any>;
86
- currentPage: import('vue').Ref<number, number>;
87
- cludoCredentials: import('vue').Ref<{
88
- apiKey: string;
89
- customerId: number;
90
- engineId: number;
91
- }, CludoCredentials | {
92
- apiKey: string;
93
- customerId: number;
94
- engineId: number;
95
- }>;
96
- cludoError: import('vue').Ref<boolean, boolean>;
97
- eventsApi: import('vue').Ref<any, any>;
98
- eventsApiError: import('vue').Ref<boolean, boolean>;
99
- getAutoComplete: () => Promise<any>;
100
- getSearchResults: (isAutoSearch?: boolean) => Promise<void>;
101
- isLoading: import('vue').Ref<boolean, boolean>;
102
- results: import('vue').Ref<any, any>;
103
- searchTerm: import('vue').Ref<string, string>;
104
- searchUrl: import('vue').Ref<any, any>;
105
- selectedCategory: import('vue').Ref<any, any>;
106
- selectedCategoryKey: import('vue').Ref<any, any>;
107
- selectedSubCategory: import('vue').Ref<any[], any[]>;
108
- selectedSubCategoryKey: import('vue').Ref<any[], any[]>;
109
- totalResults: import('vue').Ref<any, any>;
110
- totalResultsCludo: import('vue').Ref<any, any>;
111
- totalResultsEvents: import('vue').Ref<any, any>;
112
- navigateToResultsPage: (resetPageNo?: boolean, fromAutosuggest?: boolean) => Promise<void>;
113
- isHomePage: import('vue').Ref<boolean, boolean>;
114
- startDate: import('vue').Ref<string, string>;
115
- endDate: import('vue').Ref<string, string>;
116
- sortBy: import('vue').Ref<any, any>;
117
- siteLanguage: import('vue').Ref<any, any>;
118
- searchInSessionCount: import('vue').Ref<number, number>;
119
- queryInput: import('vue').Ref<string, string>;
120
- postcode: import('vue').Ref<string, string>;
121
- location: import('vue').Ref<string, string>;
122
- radius: import('vue').Ref<number, number>;
123
- postcodeareas: import('vue').Ref<string, string>;
124
- cludoApiOperator: import('vue').Ref<string, string>;
125
- }, "getAutoComplete" | "getSearchResults" | "navigateToResultsPage">>;
43
+ }>;
126
44
  export default useFederatedSearchStore;
@@ -3,7 +3,7 @@ type Tag = {
3
3
  key: string;
4
4
  value: string;
5
5
  };
6
- declare const useDataLayerStore: import('pinia').StoreDefinition<"datalayer", Pick<{
6
+ declare const useDataLayerStore: import('pinia').SetupStoreDefinition<"datalayer", {
7
7
  pageUrl: Ref<string, string>;
8
8
  tagsTestRun: Ref<boolean, boolean>;
9
9
  GTMData: Ref<object, object>;
@@ -11,21 +11,5 @@ declare const useDataLayerStore: import('pinia').StoreDefinition<"datalayer", Pi
11
11
  setTestRun: (payload: boolean) => void;
12
12
  setPageUrl: (payload: string) => void;
13
13
  processPayload: (payload: Tag) => void;
14
- }, "pageUrl" | "tagsTestRun" | "GTMData">, Pick<{
15
- pageUrl: Ref<string, string>;
16
- tagsTestRun: Ref<boolean, boolean>;
17
- GTMData: Ref<object, object>;
18
- getValueFromKey: (key: string) => any;
19
- setTestRun: (payload: boolean) => void;
20
- setPageUrl: (payload: string) => void;
21
- processPayload: (payload: Tag) => void;
22
- }, never>, Pick<{
23
- pageUrl: Ref<string, string>;
24
- tagsTestRun: Ref<boolean, boolean>;
25
- GTMData: Ref<object, object>;
26
- getValueFromKey: (key: string) => any;
27
- setTestRun: (payload: boolean) => void;
28
- setPageUrl: (payload: string) => void;
29
- processPayload: (payload: Tag) => void;
30
- }, "getValueFromKey" | "setTestRun" | "setPageUrl" | "processPayload">>;
14
+ }>;
31
15
  export default useDataLayerStore;
@@ -1,26 +1,12 @@
1
1
  /**
2
2
  * This is the store for the VsGoogleMap component.
3
3
  */
4
- declare const useGoogleBaseMapStore: import('pinia').StoreDefinition<"googleBaseMap", Pick<{
4
+ declare const useGoogleBaseMapStore: import('pinia').SetupStoreDefinition<"googleBaseMap", {
5
5
  setActiveMarker: (markerID: string) => void;
6
6
  removeActiveMarker: (markerID: string) => void;
7
7
  activeMarkers: import('vue').Ref<string[], string[]>;
8
8
  markers: import('vue').Ref<object[], object[]>;
9
9
  markerHovered: import('vue').Ref<string, string>;
10
10
  isPolygonTooltipOpen: import('vue').Ref<boolean, boolean>;
11
- }, "activeMarkers" | "markers" | "markerHovered" | "isPolygonTooltipOpen">, Pick<{
12
- setActiveMarker: (markerID: string) => void;
13
- removeActiveMarker: (markerID: string) => void;
14
- activeMarkers: import('vue').Ref<string[], string[]>;
15
- markers: import('vue').Ref<object[], object[]>;
16
- markerHovered: import('vue').Ref<string, string>;
17
- isPolygonTooltipOpen: import('vue').Ref<boolean, boolean>;
18
- }, never>, Pick<{
19
- setActiveMarker: (markerID: string) => void;
20
- removeActiveMarker: (markerID: string) => void;
21
- activeMarkers: import('vue').Ref<string[], string[]>;
22
- markers: import('vue').Ref<object[], object[]>;
23
- markerHovered: import('vue').Ref<string, string>;
24
- isPolygonTooltipOpen: import('vue').Ref<boolean, boolean>;
25
- }, "setActiveMarker" | "removeActiveMarker">>;
11
+ }>;
26
12
  export default useGoogleBaseMapStore;
@@ -1,4 +1,4 @@
1
- declare const useGoogleMapStore: import('pinia').StoreDefinition<"googleMap", Pick<{
1
+ declare const useGoogleMapStore: import('pinia').SetupStoreDefinition<"googleMap", {
2
2
  sidebarOpen: import('vue').Ref<boolean, boolean>;
3
3
  timeMounted: import('vue').Ref<number, number>;
4
4
  firstInteraction: import('vue').Ref<boolean, boolean>;
@@ -10,29 +10,5 @@ declare const useGoogleMapStore: import('pinia').StoreDefinition<"googleMap", Pi
10
10
  selectedDestinationType: import('vue').Ref<string, string>;
11
11
  categoryLabelData: import('vue').Ref<any, any>;
12
12
  categoryData: import('vue').Ref<any, any>;
13
- }, "searchTerm" | "sidebarOpen" | "timeMounted" | "firstInteraction" | "searchesCount" | "filterUsesCount" | "showDestinations" | "showCategories" | "selectedDestinationType" | "categoryLabelData" | "categoryData">, Pick<{
14
- sidebarOpen: import('vue').Ref<boolean, boolean>;
15
- timeMounted: import('vue').Ref<number, number>;
16
- firstInteraction: import('vue').Ref<boolean, boolean>;
17
- searchesCount: import('vue').Ref<number, number>;
18
- filterUsesCount: import('vue').Ref<number, number>;
19
- searchTerm: import('vue').Ref<string, string>;
20
- showDestinations: import('vue').Ref<boolean, boolean>;
21
- showCategories: import('vue').Ref<boolean, boolean>;
22
- selectedDestinationType: import('vue').Ref<string, string>;
23
- categoryLabelData: import('vue').Ref<any, any>;
24
- categoryData: import('vue').Ref<any, any>;
25
- }, never>, Pick<{
26
- sidebarOpen: import('vue').Ref<boolean, boolean>;
27
- timeMounted: import('vue').Ref<number, number>;
28
- firstInteraction: import('vue').Ref<boolean, boolean>;
29
- searchesCount: import('vue').Ref<number, number>;
30
- filterUsesCount: import('vue').Ref<number, number>;
31
- searchTerm: import('vue').Ref<string, string>;
32
- showDestinations: import('vue').Ref<boolean, boolean>;
33
- showCategories: import('vue').Ref<boolean, boolean>;
34
- selectedDestinationType: import('vue').Ref<string, string>;
35
- categoryLabelData: import('vue').Ref<any, any>;
36
- categoryData: import('vue').Ref<any, any>;
37
- }, never>>;
13
+ }>;
38
14
  export default useGoogleMapStore;
@@ -7,7 +7,7 @@ interface MapInstance {
7
7
  hovered: string;
8
8
  activePlace: unknown;
9
9
  }
10
- declare const useMapStore: import('pinia').StoreDefinition<"map", Pick<{
10
+ declare const useMapStore: import('pinia').SetupStoreDefinition<"map", {
11
11
  maps: Ref<MapInstance[], MapInstance[]>;
12
12
  activeSubcatFilters: Ref<unknown[], unknown[]>;
13
13
  selectedSubCategory: Ref<unknown, unknown>;
@@ -28,47 +28,5 @@ declare const useMapStore: import('pinia').StoreDefinition<"map", Pick<{
28
28
  getMapById: (id: string) => MapInstance;
29
29
  getHoveredStop: (mapId: string) => string;
30
30
  getActivePlace: (mapId: string) => unknown;
31
- }, "maps" | "selectedSubCategory" | "activeSubcatFilters" | "activeMarkerPos" | "activePlace">, Pick<{
32
- maps: Ref<MapInstance[], MapInstance[]>;
33
- activeSubcatFilters: Ref<unknown[], unknown[]>;
34
- selectedSubCategory: Ref<unknown, unknown>;
35
- activeMarkerPos: Ref<unknown, unknown>;
36
- activePlace: Ref<unknown, unknown>;
37
- addMapInstance: (payload: Pick<MapInstance, "id" | "filters" | "places" | "activePins">) => void;
38
- setHoveredPlace: (payload: {
39
- mapId: string;
40
- hoveredFeature: string;
41
- }) => void;
42
- setActivePlace: (payload: {
43
- mapId: string;
44
- activeFeature: unknown;
45
- }) => void;
46
- setActiveSubcatFilters: (payload: unknown[]) => void;
47
- setSelectedSubcat: (payload: unknown) => void;
48
- setActiveMarkerPos: (payload: unknown) => void;
49
- getMapById: (id: string) => MapInstance;
50
- getHoveredStop: (mapId: string) => string;
51
- getActivePlace: (mapId: string) => unknown;
52
- }, never>, Pick<{
53
- maps: Ref<MapInstance[], MapInstance[]>;
54
- activeSubcatFilters: Ref<unknown[], unknown[]>;
55
- selectedSubCategory: Ref<unknown, unknown>;
56
- activeMarkerPos: Ref<unknown, unknown>;
57
- activePlace: Ref<unknown, unknown>;
58
- addMapInstance: (payload: Pick<MapInstance, "id" | "filters" | "places" | "activePins">) => void;
59
- setHoveredPlace: (payload: {
60
- mapId: string;
61
- hoveredFeature: string;
62
- }) => void;
63
- setActivePlace: (payload: {
64
- mapId: string;
65
- activeFeature: unknown;
66
- }) => void;
67
- setActiveSubcatFilters: (payload: unknown[]) => void;
68
- setSelectedSubcat: (payload: unknown) => void;
69
- setActiveMarkerPos: (payload: unknown) => void;
70
- getMapById: (id: string) => MapInstance;
71
- getHoveredStop: (mapId: string) => string;
72
- getActivePlace: (mapId: string) => unknown;
73
- }, "addMapInstance" | "setHoveredPlace" | "setActivePlace" | "setActiveSubcatFilters" | "setSelectedSubcat" | "setActiveMarkerPos" | "getMapById" | "getHoveredStop" | "getActivePlace">>;
31
+ }>;
74
32
  export default useMapStore;
@@ -1,4 +1,4 @@
1
- declare const useMapCategoryStore: import('pinia').StoreDefinition<"mapCategoryStore", Pick<{
1
+ declare const useMapCategoryStore: import('pinia').SetupStoreDefinition<"mapCategoryStore", {
2
2
  clearSubcategories: () => void;
3
3
  getSubcategoryLabel: (subcategoryId: string) => any;
4
4
  selectedCategory: import('vue').Ref<string, string>;
@@ -16,41 +16,5 @@ declare const useMapCategoryStore: import('pinia').StoreDefinition<"mapCategoryS
16
16
  selfCateringClicked: import('vue').Ref<boolean, boolean>;
17
17
  subcategoryMap: import('vue').Ref<any, any>;
18
18
  toggleSubcategory: (id: string) => void;
19
- }, "selectedCategory" | "selectedSubcategories" | "selfCateringClicked" | "subcategoryMap">, Pick<{
20
- clearSubcategories: () => void;
21
- getSubcategoryLabel: (subcategoryId: string) => any;
22
- selectedCategory: import('vue').Ref<string, string>;
23
- selectedCategoryLabel: import('vue').ComputedRef<any>;
24
- selectedCategoryTypes: import('vue').ComputedRef<{
25
- included: Set<any>;
26
- excluded: Set<any>;
27
- }>;
28
- selectedSubcategories: import('vue').Ref<string[], string[]>;
29
- selectedSubcategoryLabels: import('vue').ComputedRef<string>;
30
- selectedSubcategoryTypes: import('vue').ComputedRef<{
31
- included: Set<unknown>;
32
- excluded: Set<unknown>;
33
- }>;
34
- selfCateringClicked: import('vue').Ref<boolean, boolean>;
35
- subcategoryMap: import('vue').Ref<any, any>;
36
- toggleSubcategory: (id: string) => void;
37
- }, "selectedCategoryLabel" | "selectedCategoryTypes" | "selectedSubcategoryLabels" | "selectedSubcategoryTypes">, Pick<{
38
- clearSubcategories: () => void;
39
- getSubcategoryLabel: (subcategoryId: string) => any;
40
- selectedCategory: import('vue').Ref<string, string>;
41
- selectedCategoryLabel: import('vue').ComputedRef<any>;
42
- selectedCategoryTypes: import('vue').ComputedRef<{
43
- included: Set<any>;
44
- excluded: Set<any>;
45
- }>;
46
- selectedSubcategories: import('vue').Ref<string[], string[]>;
47
- selectedSubcategoryLabels: import('vue').ComputedRef<string>;
48
- selectedSubcategoryTypes: import('vue').ComputedRef<{
49
- included: Set<unknown>;
50
- excluded: Set<unknown>;
51
- }>;
52
- selfCateringClicked: import('vue').Ref<boolean, boolean>;
53
- subcategoryMap: import('vue').Ref<any, any>;
54
- toggleSubcategory: (id: string) => void;
55
- }, "clearSubcategories" | "getSubcategoryLabel" | "toggleSubcategory">>;
19
+ }>;
56
20
  export default useMapCategoryStore;
@@ -151,7 +151,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
151
151
  }
152
152
  `;styleInject(css_248z);script$4.render=render$4;script$4.__scopeId="data-v-43da20c6";script$4.__file="src/components/Tooltip/index.vue";var script$3=vue.defineComponent({props:{stacked:{type:Boolean,default:!1},maxWidth:{type:Number,default:-1}},setup(e){vue.provide("layerProps",e)}});function render$3(e,t,n,a,o,r){return vue.openBlock(),vue.createElementBlock("div",null,[vue.renderSlot(e.$slots,"default")])}script$3.render=render$3;script$3.__file="src/components/Group/index.vue";var script$2=vue.defineComponent({name:"Grid",props:{value:{type:Number},label:{type:String,default:""},color:{type:String,default:"red"},strokeDasharray:{type:String,default:()=>"3"},strokeWidth:{type:Number,default:1},strokeOpacity:{type:Number,default:.5}},setup(e){const t=useChart(),n=vue.ref(0),a=vue.ref("horizontal"),o=vue.ref({});return vue.watch(t.updates,()=>{e.value!==void 0&&(n.value=t.scales.secondary.scale(e.value)),o.value=t.canvas,a.value=t.config.direction},{immediate:!0}),vue.watch(()=>e.value,()=>{n.value=t.scales.secondary.scale(e.value)},{immediate:!0}),{y:n,canvas:o,direction:a}}});const _hoisted_1$2$1={key:0,class:"layer-marker"},_hoisted_2$2$1=["x","y","fill"],_hoisted_3$1$1=["x1","y1","x2","y2","stroke","stroke-opacity","stroke-width","stroke-dasharray"],_hoisted_4$1$1={key:1,class:"layer-marker"},_hoisted_5$1$1=["x","y","fill"],_hoisted_6$1$1=["x1","y1","x2","y2","stroke","stroke-opacity","stroke-width","stroke-dasharray"];function render$2(e,t,n,a,o,r){return e.direction==="horizontal"?(vue.openBlock(),vue.createElementBlock("g",_hoisted_1$2$1,[vue.createElementVNode("text",{x:e.canvas.x+5,y:e.y-5,"text-anchor":"start",fill:e.color},vue.toDisplayString(e.label),9,_hoisted_2$2$1),vue.createElementVNode("line",{x1:e.canvas.x,y1:e.y,x2:e.canvas.width,y2:e.y,stroke:e.color,"stroke-opacity":e.strokeOpacity,"stroke-width":e.strokeWidth,"stroke-dasharray":e.strokeDasharray},null,8,_hoisted_3$1$1)])):(vue.openBlock(),vue.createElementBlock("g",_hoisted_4$1$1,[vue.createElementVNode("text",{x:e.y+10,y:e.canvas.y+5,"text-anchor":"start",fill:e.color,style:{"writing-mode":"tb"}},vue.toDisplayString(e.label),9,_hoisted_5$1$1),vue.createElementVNode("line",{x1:e.y,y1:e.canvas.y,x2:e.y,y2:e.canvas.height,stroke:e.color,"stroke-opacity":e.strokeOpacity,"stroke-width":e.strokeWidth,"stroke-dasharray":e.strokeDasharray},null,8,_hoisted_6$1$1)]))}script$2.render=render$2;script$2.__file="src/components/Marker/index.vue";function count(e){var t=0,n=e.children,a=n&&n.length;if(!a)t=1;else for(;--a>=0;)t+=n[a].value;e.value=t}function node_count(){return this.eachAfter(count)}function node_each(e,t){let n=-1;for(const a of this)e.call(t,a,++n,this);return this}function node_eachBefore(e,t){for(var n=this,a=[n],o,r,s=-1;n=a.pop();)if(e.call(t,n,++s,this),o=n.children)for(r=o.length-1;r>=0;--r)a.push(o[r]);return this}function node_eachAfter(e,t){for(var n=this,a=[n],o=[],r,s,i,l=-1;n=a.pop();)if(o.push(n),r=n.children)for(s=0,i=r.length;s<i;++s)a.push(r[s]);for(;n=o.pop();)e.call(t,n,++l,this);return this}function node_find(e,t){let n=-1;for(const a of this)if(e.call(t,a,++n,this))return a}function node_sum(e){return this.eachAfter(function(t){for(var n=+e(t.data)||0,a=t.children,o=a&&a.length;--o>=0;)n+=a[o].value;t.value=n})}function node_sort(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})}function node_path(e){for(var t=this,n=leastCommonAncestor(t,e),a=[t];t!==n;)t=t.parent,a.push(t);for(var o=a.length;e!==n;)a.splice(o,0,e),e=e.parent;return a}function leastCommonAncestor(e,t){if(e===t)return e;var n=e.ancestors(),a=t.ancestors(),o=null;for(e=n.pop(),t=a.pop();e===t;)o=e,e=n.pop(),t=a.pop();return o}function node_ancestors(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t}function node_descendants(){return Array.from(this)}function node_leaves(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e}function node_links(){var e=this,t=[];return e.each(function(n){n!==e&&t.push({source:n.parent,target:n})}),t}function*node_iterator(){var e=this,t,n=[e],a,o,r;do for(t=n.reverse(),n=[];e=t.pop();)if(yield e,a=e.children)for(o=0,r=a.length;o<r;++o)n.push(a[o]);while(n.length)}function hierarchy(e,t){e instanceof Map?(e=[void 0,e],t===void 0&&(t=mapChildren)):t===void 0&&(t=objectChildren);for(var n=new Node$1(e),a,o=[n],r,s,i,l;a=o.pop();)if((s=t(a.data))&&(l=(s=Array.from(s)).length))for(a.children=s,i=l-1;i>=0;--i)o.push(r=s[i]=new Node$1(s[i])),r.parent=a,r.depth=a.depth+1;return n.eachBefore(computeHeight)}function node_copy(){return hierarchy(this).eachBefore(copyData)}function objectChildren(e){return e.children}function mapChildren(e){return Array.isArray(e)?e[1]:null}function copyData(e){e.data.value!==void 0&&(e.value=e.data.value),e.data=e.data.data}function computeHeight(e){var t=0;do e.height=t;while((e=e.parent)&&e.height<++t)}function Node$1(e){this.data=e,this.depth=this.height=0,this.parent=null}Node$1.prototype=hierarchy.prototype={constructor:Node$1,count:node_count,each:node_each,eachAfter:node_eachAfter,eachBefore:node_eachBefore,find:node_find,sum:node_sum,sort:node_sort,path:node_path,ancestors:node_ancestors,descendants:node_descendants,leaves:node_leaves,links:node_links,copy:node_copy,[Symbol.iterator]:node_iterator};function optional(e){return e==null?null:required$2(e)}function required$2(e){if(typeof e!="function")throw new Error;return e}function constantZero(){return 0}function constant(e){return function(){return e}}function roundNode(e){e.x0=Math.round(e.x0),e.y0=Math.round(e.y0),e.x1=Math.round(e.x1),e.y1=Math.round(e.y1)}function treemapDice(e,t,n,a,o){for(var r=e.children,s,i=-1,l=r.length,u=e.value&&(a-t)/e.value;++i<l;)s=r[i],s.y0=n,s.y1=o,s.x0=t,s.x1=t+=s.value*u}var preroot={depth:-1},ambiguous={},imputed={};function defaultId(e){return e.id}function defaultParentId(e){return e.parentId}function stratify(){var e=defaultId,t=defaultParentId,n;function a(o){var r=Array.from(o),s=e,i=t,l,u,c,d,v,f,p,m,_=new Map;if(n!=null){const h=r.map((C,L)=>normalize(n(C,L,o))),g=h.map(parentof),b=new Set(h).add("");for(const C of g)b.has(C)||(b.add(C),h.push(C),g.push(parentof(C)),r.push(imputed));s=(C,L)=>h[L],i=(C,L)=>g[L]}for(c=0,l=r.length;c<l;++c)u=r[c],f=r[c]=new Node$1(u),(p=s(u,c,o))!=null&&(p+="")&&(m=f.id=p,_.set(m,_.has(m)?ambiguous:f)),(p=i(u,c,o))!=null&&(p+="")&&(f.parent=p);for(c=0;c<l;++c)if(f=r[c],p=f.parent){if(v=_.get(p),!v)throw new Error("missing: "+p);if(v===ambiguous)throw new Error("ambiguous: "+p);v.children?v.children.push(f):v.children=[f],f.parent=v}else{if(d)throw new Error("multiple roots");d=f}if(!d)throw new Error("no root");if(n!=null){for(;d.data===imputed&&d.children.length===1;)d=d.children[0],--l;for(let h=r.length-1;h>=0&&(f=r[h],f.data===imputed);--h)f.data=null}if(d.parent=preroot,d.eachBefore(function(h){h.depth=h.parent.depth+1,--l}).eachBefore(computeHeight),d.parent=null,l>0)throw new Error("cycle");return d}return a.id=function(o){return arguments.length?(e=optional(o),a):e},a.parentId=function(o){return arguments.length?(t=optional(o),a):t},a.path=function(o){return arguments.length?(n=optional(o),a):n},a}function normalize(e){e=`${e}`;let t=e.length;return slash(e,t-1)&&!slash(e,t-2)&&(e=e.slice(0,-1)),e[0]==="/"?e:`/${e}`}function parentof(e){let t=e.length;if(t<2)return"";for(;--t>1&&!slash(e,t););return e.slice(0,t)}function slash(e,t){if(e[t]==="/"){let n=0;for(;t>0&&e[--t]==="\\";)++n;if((n&1)===0)return!0}return!1}function treemapSlice(e,t,n,a,o){for(var r=e.children,s,i=-1,l=r.length,u=e.value&&(o-n)/e.value;++i<l;)s=r[i],s.x0=t,s.x1=a,s.y0=n,s.y1=n+=s.value*u}var phi=(1+Math.sqrt(5))/2;function squarifyRatio(e,t,n,a,o,r){for(var s=[],i=t.children,l,u,c=0,d=0,v=i.length,f,p,m=t.value,_,h,g,b,C,L,I;c<v;){f=o-n,p=r-a;do _=i[d++].value;while(!_&&d<v);for(h=g=_,L=Math.max(p/f,f/p)/(m*e),I=_*_*L,C=Math.max(g/I,I/h);d<v;++d){if(_+=u=i[d].value,u<h&&(h=u),u>g&&(g=u),I=_*_*L,b=Math.max(g/I,I/h),b>C){_-=u;break}C=b}s.push(l={value:_,dice:f<p,children:i.slice(c,d)}),l.dice?treemapDice(l,n,a,o,m?a+=p*_/m:r):treemapSlice(l,n,a,m?n+=f*_/m:o,r),m-=_,c=d}return s}var squarify=(function e(t){function n(a,o,r,s,i){squarifyRatio(t,a,o,r,s,i)}return n.ratio=function(a){return e((a=+a)>1?a:1)},n})(phi);function treemap(){var e=squarify,t=!1,n=1,a=1,o=[0],r=constantZero,s=constantZero,i=constantZero,l=constantZero,u=constantZero;function c(v){return v.x0=v.y0=0,v.x1=n,v.y1=a,v.eachBefore(d),o=[0],t&&v.eachBefore(roundNode),v}function d(v){var f=o[v.depth],p=v.x0+f,m=v.y0+f,_=v.x1-f,h=v.y1-f;_<p&&(p=_=(p+_)/2),h<m&&(m=h=(m+h)/2),v.x0=p,v.y0=m,v.x1=_,v.y1=h,v.children&&(f=o[v.depth+1]=r(v)/2,p+=u(v)-f,m+=s(v)-f,_-=i(v)-f,h-=l(v)-f,_<p&&(p=_=(p+_)/2),h<m&&(m=h=(m+h)/2),e(v,p,m,_,h))}return c.round=function(v){return arguments.length?(t=!!v,c):t},c.size=function(v){return arguments.length?(n=+v[0],a=+v[1],c):[n,a]},c.tile=function(v){return arguments.length?(e=required$2(v),c):e},c.padding=function(v){return arguments.length?c.paddingInner(v).paddingOuter(v):c.paddingInner()},c.paddingInner=function(v){return arguments.length?(r=typeof v=="function"?v:constant(+v),c):r},c.paddingOuter=function(v){return arguments.length?c.paddingTop(v).paddingRight(v).paddingBottom(v).paddingLeft(v):c.paddingTop()},c.paddingTop=function(v){return arguments.length?(s=typeof v=="function"?v:constant(+v),c):s},c.paddingRight=function(v){return arguments.length?(i=typeof v=="function"?v:constant(+v),c):i},c.paddingBottom=function(v){return arguments.length?(l=typeof v=="function"?v:constant(+v),c):l},c.paddingLeft=function(v){return arguments.length?(u=typeof v=="function"?v:constant(+v),c):u},c}var script$1=vue.defineComponent({name:"Treemap",props:{size:{type:Object,default:()=>({width:500,height:400}),required:!1},margin:{type:Object,default:()=>({top:0,right:0,bottom:0,left:0})},padding:{type:Number,default:8},data:{type:Array,default:()=>[]},dataKeys:{type:Object,required:!0},colorFn:{type:Function,default:()=>interpolateHcl("#60c96e","#6b46c1")},rcStyle:{type:Function,required:!1}},setup(e){const t=vue.ref(null),n=vue.ref(e.data),a=vue.ref(null),o=vue.ref({x:e.margin.left,y:e.margin.top,width:e.size.width-e.margin.right,height:e.size.height-e.margin.bottom}),r=vue.ref([]);function s(){const f=extent(n.value.map(_=>_[e.dataKeys[1]])),p=linear().domain(f).range([0,100]).nice(),m=sequential().domain(f).interpolator(e.colorFn());return{x:p,y:m}}function i(){const{y:f}=s();return l(n.value).leaves().map((m,_)=>({idx:_,x0:o.value.x+m.x0,x1:o.value.x+m.x1,y0:o.value.y+m.y0,y1:o.value.y+m.y1,width:m.x1-m.x0,height:m.y1-m.y0,data:m.data,color:f(m.value)}))}function l(f){const{x:p}=s(),m=treemap().size([o.value.width-o.value.x,o.value.height-o.value.y]).padding(e.padding),h=stratify().id(g=>g.name).parentId(g=>g.parent)([{name:"root"}].concat(f.map(g=>({name:g[e.dataKeys[0]],value:g[e.dataKeys[1]],parent:"root"}))));return h.sum(g=>p(g.value)),m(h),h}const u=f=>mapKeys(kebabize,f),c=f=>{const p={stroke:f.color,strokeWidth:5,fill:f.color,fillOpacity:.9};return e.rcStyle&&typeof e.rcStyle=="function"?Object.assign(Object.assign({},p),e.rcStyle(f)):p};function d(f){a.value=f}function v(){a.value=null}return vue.watch(e,()=>{n.value=e.data,o.value={x:e.margin.left,y:e.margin.top,width:e.size.width-e.margin.right,height:e.size.height-e.margin.bottom},r.value=i()},{immediate:!0}),{el:t,rectangles:r,selected:a,getStyle:c,toKebabCase:u,onMouseOver:d,onMouseOut:v}}});const _hoisted_1$1$1={class:"treemap",style:{display:"flex",position:"relative"}},_hoisted_2$1$1=["width","height","viewBox"],_hoisted_3$X={class:"layer-rectangles"},_hoisted_4$G=["transform","onMouseover"],_hoisted_5$v=["width","height"],_hoisted_6$k={x:10,y:20,"font-size":"15px",fill:"white","font-weight":"bold"};function render$1(e,t,n,a,o,r){return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1$1,[(vue.openBlock(),vue.createElementBlock("svg",{width:e.size.width,height:e.size.height,viewBox:`0 0 ${e.size.width} ${e.size.height}`,ref:"el"},[vue.createElementVNode("g",_hoisted_3$X,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.rectangles,(s,i)=>(vue.openBlock(),vue.createElementBlock("g",{class:vue.normalizeClass(["rectangle",{selected:e.selected===i}]),key:i,transform:`translate(${s.x0}, ${s.y0})`,onMouseover:()=>e.onMouseOver(i),onMouseleave:t[0]||(t[0]=(...l)=>e.onMouseOut&&e.onMouseOut(...l))},[vue.renderSlot(e.$slots,"default",{r:s,selected:e.selected===i},()=>[vue.createElementVNode("rect",vue.mergeProps(e.toKebabCase(e.getStyle(s)),{x:0,y:0,width:s.width,height:s.height}),null,16,_hoisted_5$v),vue.renderSlot(e.$slots,"text",{r:s,selected:e.selected===i},()=>[vue.createElementVNode("text",_hoisted_6$k,vue.toDisplayString(s.data.name),1)])])],42,_hoisted_4$G))),128))])],8,_hoisted_2$1$1)),vue.renderSlot(e.$slots,"widgets")])}script$1.render=render$1;script$1.__file="src/components/Treemap/index.vue";var script=vue.defineComponent({name:"HoverBar",props:{barStyle:{type:Object,default:()=>({"fill-opacity":.05})}},setup(){const e=useChart(),t=useMouse(),n=vue.ref({x:0,y:0,width:0,height:0}),a=vue.ref("horizontal"),o=vue.ref({x:0,y:0,width:0,height:0});return vue.watch(e.updates,()=>{o.value=e.canvas,a.value=e.config.direction},{immediate:!0}),vue.watch(t,()=>{if(e.bandScale){const r=e.getData(e.getKeys(0)),[s]=e.bandScale.map([r[t.index]]),i=e.bandScale.bandwidth();s&&(e.config.direction==="horizontal"?n.value={x:s-i/2,y:0,width:i,height:o.value.height}:n.value={x:40,y:s-i/2,width:o.value.width-40,height:i})}}),{bar:n,canvas:o,direction:a,mouse:t}}});const _hoisted_1$1D={key:0,class:"layer-hover-bar"},_hoisted_2$19=["x","y","width","height"];function render(e,t,n,a,o,r){return e.mouse.hover?(vue.openBlock(),vue.createElementBlock("g",_hoisted_1$1D,[vue.createElementVNode("rect",vue.mergeProps({class:"hover-bar"},e.barStyle,{x:e.bar.x,y:e.bar.y,width:e.bar.width>0?e.bar.width:0,height:e.bar.height>0?e.bar.height:0}),null,16,_hoisted_2$19)])):vue.createCommentVNode("v-if",!0)}script.render=render;script.__file="src/components/HoverBar/index.vue";const _sfc_main$25={name:"VsCarbonCalculatorResults",status:"prototype",release:"0.0.1",components:{VsCol:LoadingSpinner.VsCol,VsRow:LoadingSpinner.VsRow,VsHeading:LoadingSpinner.VsHeading,VsIcon:LoadingSpinner.VsIcon,Chart:script$c,Grid:script$5,Bar:script$8,Responsive:script$6},mixins:[LoadingSpinner.dataLayerMixin],inject:["labelsMap"],props:{totalKilos:{type:Number,default:0},foodKilos:{type:Number,default:0},transportKilos:{type:Number,default:0},accommodationKilos:{type:Number,default:0},stayDuration:{type:Number,default:1},comparisonReplacements:{type:Array,default:()=>[]},language:{type:String,default:"en-gb"}},data(){return{chartDirection:vue.ref("horizontal"),chartAxis:vue.ref({primary:{type:"band"}}),cssProps:`--chart-label: '${this.labelsMap.kgsOf}'`,tokens:LoadingSpinner.designTokens}},computed:{chartData(){return[{name:this.labelsMap.transport,emissions:this.transportKilos},{name:this.labelsMap.accommodation,emissions:this.accommodationKilos},{name:this.labelsMap.food,emissions:this.foodKilos}]},interpolComparison(){let e=this.labelsMap.comparison;for(let t=0;t<this.comparisonReplacements.length;t++)e=e.replace(this.comparisonReplacements[t].repl,(this.totalKilos/this.comparisonReplacements[t].divisor).toLocaleString(this.language,{minimumFractionDigits:3}));return e},interpolKGsPerDay(){return this.labelsMap.kgsPerDay.replace("xxx",this.totalPerDay)},interpolPerDaySuccess(){return this.labelsMap.perDaySuccess.replace("xxx",this.labelsMap.perDayTarget)},transportPercent(){return this.transportKilos/this.totalKilos*100},accommodationPercent(){return this.accommodationKilos/this.totalKilos*100},foodPercent(){return this.foodKilos/this.totalKilos*100},totalPerDay(){return this.totalKilos/Math.max(this.stayDuration,1)}},mounted(){this.createDataLayerObject("carbonCompleteEvent",{totalEmissions:this.totalKilos,totalPerDay:this.totalPerDay,travelPercent:this.transportPercent.toFixed(3)||0,accommodationPercent:this.accommodationPercent.toFixed(3)||0,foodPercent:this.foodPercent.toFixed(3)||0})},methods:{responsiveMargin(e){return e>300?{left:20,top:20,right:20,bottom:20}:{left:5,top:5,right:5,bottom:5}}}},_hoisted_1$1C={class:"vs-carbon-calculator-results__headline"},_hoisted_2$18={class:"mb-050"},_hoisted_3$W={class:"vs-carbon-calculator-results__total"},_hoisted_4$F=["innerHTML"],_hoisted_5$u={class:"vs-carbon-calculator-results__unicorn-icon-container"},_hoisted_6$j={class:"vs-carbon-calculator-results__unicorn-content"};function _sfc_render$1O(e,t,n,a,o,r){const s=vue.resolveComponent("VsHeading"),i=vue.resolveComponent("VsCol"),l=vue.resolveComponent("VsRow"),u=vue.resolveComponent("VsIcon"),c=vue.resolveComponent("Grid"),d=vue.resolveComponent("Bar"),v=vue.resolveComponent("Chart"),f=vue.resolveComponent("Responsive");return vue.openBlock(),vue.createBlock(l,{"data-test":"vs-carbon-calculator-results",style:vue.normalizeStyle(o.cssProps)},{default:vue.withCtx(()=>[vue.createVNode(i,{cols:"12"},{default:vue.withCtx(()=>[vue.createVNode(s,{level:"2","heading-style":"heading-m"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.labelsMap.results),1)]),_:1})]),_:1}),vue.createVNode(i,{cols:"12"},{default:vue.withCtx(()=>[vue.createVNode(l,{class:"vs-carbon-calculator-results__summary"},{default:vue.withCtx(()=>[vue.createVNode(i,{cols:"12",md:"6"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$1C,[vue.createElementVNode("p",_hoisted_2$18,vue.toDisplayString(r.labelsMap.resultsIntro),1),vue.createElementVNode("p",null,[vue.createElementVNode("span",_hoisted_3$W,vue.toDisplayString(n.totalKilos.toLocaleString(n.language,{minimumFractionDigits:3})),1),vue.createTextVNode(" "+vue.toDisplayString(r.labelsMap.kgsOf),1)])])]),_:1}),vue.createVNode(i,{cols:"12",md:"6",class:"vs-carbon-calculator-results__comparison"},{default:vue.withCtx(()=>[vue.createElementVNode("p",{innerHTML:r.interpolComparison},null,8,_hoisted_4$F)]),_:1})]),_:1})]),_:1}),r.totalPerDay<=r.labelsMap.perDayTarget?(vue.openBlock(),vue.createBlock(i,{key:0,cols:"12",class:"vs-carbon-calculator-results__unicorn"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_5$u,[vue.createVNode(u,{icon:"fa-kit fa-vs-unicorn",size:"lg",variant:"highlight",class:"vs-carbon-calculator-results__unicorn-icon"})]),vue.createElementVNode("div",_hoisted_6$j,[vue.createVNode(s,{level:"3","heading-style":"heading-xs"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.labelsMap.perDayCongratulations),1)]),_:1}),vue.createElementVNode("p",null,vue.toDisplayString(r.interpolPerDaySuccess),1)])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(i,null,{default:vue.withCtx(()=>[vue.createVNode(s,{level:"3","heading-style":"heading-xs"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.labelsMap.chartTitle),1)]),_:1})]),_:1}),vue.createVNode(i,{class:"vs-carbon-calculator-results__chart-wrapper",cols:"12"},{default:vue.withCtx(()=>[vue.createVNode(f,null,{main:vue.withCtx(({width:p})=>[vue.createVNode(v,{class:"vs-carbon-calculator-results__chart",size:{width:p,height:420},data:r.chartData,margin:r.responsiveMargin(p),direction:o.chartDirection,axis:o.chartAxis},{layers:vue.withCtx(()=>[vue.createVNode(c,{"stroke-dasharray":"2,2"}),vue.createVNode(d,{"data-keys":["name","emissions"],"bar-style":{fill:o.tokens["vs-color-background-highlight"]},gap:20},null,8,["bar-style"])]),_:1},8,["size","data","margin","direction","axis"])]),_:1})]),_:1})]),_:1},8,["style"])}const VsCarbonCalculatorResults=LoadingSpinner._export_sfc(_sfc_main$25,[["render",_sfc_render$1O]]),_sfc_main$24={name:"VsCarbonCalculatorRunningTotal",status:"prototype",release:"0.0.1",components:{VsIcon:LoadingSpinner.VsIcon},inject:["labelsMap"],props:{totalKilos:{type:Number,default:0},language:{type:String,default:"en-gb"}}},_hoisted_1$1B={class:"vs-carbon-calculator-running-total","data-test":"vs-carbon-calculator-running-total"},_hoisted_2$17={class:"vs-carbon-calculator-running-total__icon"},_hoisted_3$V={class:"vs-carbon-calculator-running-total__content"},_hoisted_4$E={class:"vs-carbon-calculator-running-total__value"};function _sfc_render$1N(e,t,n,a,o,r){const s=vue.resolveComponent("VsIcon");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1B,[vue.createElementVNode("div",_hoisted_2$17,[vue.createVNode(s,{icon:"fa-regular fa-pen-field",size:"md"})]),vue.createElementVNode("div",_hoisted_3$V,[vue.createElementVNode("p",null,vue.toDisplayString(r.labelsMap.soFar),1),vue.createElementVNode("p",null,[vue.createElementVNode("span",_hoisted_4$E,vue.toDisplayString(n.totalKilos.toLocaleString(n.language,{minimumFractionDigits:3})),1),vue.createTextVNode(" "+vue.toDisplayString(r.labelsMap.kgsOf),1)])])])}const VsCarbonCalculatorRunningTotal=LoadingSpinner._export_sfc(_sfc_main$24,[["render",_sfc_render$1N]]),_sfc_main$23={name:"VsCarbonCalculatorIntro",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading},inject:["labelsMap"]},_hoisted_1$1A={class:"vs-carbon-calculator-intro","data-test":"vs-carbon-calculator-intro"};function _sfc_render$1M(e,t,n,a,o,r){const s=vue.resolveComponent("VsHeading");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1A,[vue.createVNode(s,{level:"2","heading-style":"heading-l"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.labelsMap.introHeading),1)]),_:1}),vue.createElementVNode("p",null,vue.toDisplayString(r.labelsMap.introContent),1)])}const VsCarbonCalculatorIntro=LoadingSpinner._export_sfc(_sfc_main$23,[["render",_sfc_render$1M]]);function ownKeys$1(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,a)}return n}function _objectSpread2$1(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?ownKeys$1(Object(n),!0).forEach(function(a){_defineProperty$1(e,a,n[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$1(Object(n)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(n,a))})}return e}function _defineProperty$1(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function unwrapObj(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return Object.keys(e).reduce((n,a)=>(t.includes(a)||(n[a]=vue.unref(e[a])),n),{})}function isFunction$2(e){return typeof e=="function"}function isProxy(e){return vue.isReactive(e)||vue.isReadonly(e)}function get(e,t,n){let a=e;const o=t.split(".");for(let r=0;r<o.length;r++){if(!a[o[r]])return n;a=a[o[r]]}return a}function gatherBooleanGroupProperties(e,t,n){return vue.computed(()=>e.some(a=>get(t,a,{[n]:!1})[n]))}function gatherArrayGroupProperties(e,t,n){return vue.computed(()=>e.reduce((a,o)=>{const r=get(t,o,{[n]:!1})[n]||[];return a.concat(r)},[]))}function callRule(e,t,n,a){return e.call(a,vue.unref(t),vue.unref(n),a)}function normalizeValidatorResponse(e){return e.$valid!==void 0?!e.$valid:!e}function createAsyncResult(e,t,n,a,o,r,s){let{$lazy:i,$rewardEarly:l}=o,u=arguments.length>7&&arguments[7]!==void 0?arguments[7]:[],c=arguments.length>8?arguments[8]:void 0,d=arguments.length>9?arguments[9]:void 0,v=arguments.length>10?arguments[10]:void 0;const f=vue.ref(!!a.value),p=vue.ref(0);n.value=!1;const m=vue.watch([t,a].concat(u,v),()=>{if(i&&!a.value||l&&!d.value&&!n.value)return;let _;try{_=callRule(e,t,c,s)}catch(h){_=Promise.reject(h)}p.value++,n.value=!!p.value,f.value=!1,Promise.resolve(_).then(h=>{p.value--,n.value=!!p.value,r.value=h,f.value=normalizeValidatorResponse(h)}).catch(h=>{p.value--,n.value=!!p.value,r.value=h,f.value=!0})},{immediate:!0,deep:typeof t=="object"});return{$invalid:f,$unwatch:m}}function createSyncResult(e,t,n,a,o,r,s,i){let{$lazy:l,$rewardEarly:u}=a;const c=()=>({}),d=vue.computed(()=>{if(l&&!n.value||u&&!i.value)return!1;let v=!0;try{const f=callRule(e,t,s,r);o.value=f,v=normalizeValidatorResponse(f)}catch(f){o.value=f}return v});return{$unwatch:c,$invalid:d}}function createValidatorResult(e,t,n,a,o,r,s,i,l,u,c){const d=vue.ref(!1),v=e.$params||{},f=vue.ref(null);let p,m;e.$async?{$invalid:p,$unwatch:m}=createAsyncResult(e.$validator,t,d,n,a,f,o,e.$watchTargets,l,u,c):{$invalid:p,$unwatch:m}=createSyncResult(e.$validator,t,n,a,f,o,l,u);const _=e.$message;return{$message:isFunction$2(_)?vue.computed(()=>_(unwrapObj({$pending:d,$invalid:p,$params:unwrapObj(v),$model:t,$response:f,$validator:r,$propertyPath:i,$property:s}))):_||"",$params:v,$pending:d,$invalid:p,$response:f,$unwatch:m}}function sortValidations(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const t=vue.unref(e),n=Object.keys(t),a={},o={},r={};let s=null;return n.forEach(i=>{const l=t[i];switch(!0){case isFunction$2(l.$validator):a[i]=l;break;case isFunction$2(l):a[i]={$validator:l};break;case i==="$validationGroups":s=l;break;case i.startsWith("$"):r[i]=l;break;default:o[i]=l}}),{rules:a,nestedValidators:o,config:r,validationGroups:s}}const ROOT_PATH="__root";function createValidationResults(e,t,n,a,o,r,s,i,l){const u=Object.keys(e),c=a.get(o,e),d=vue.ref(!1),v=vue.ref(!1),f=vue.ref(0);if(c){if(!c.$partial)return c;c.$unwatch(),d.value=c.$dirty.value}const p={$dirty:d,$path:o,$touch:()=>{d.value||(d.value=!0)},$reset:()=>{d.value&&(d.value=!1)},$commit:()=>{}};return u.length?(u.forEach(m=>{p[m]=createValidatorResult(e[m],t,p.$dirty,r,s,m,n,o,l,v,f)}),p.$externalResults=vue.computed(()=>i.value?[].concat(i.value).map((m,_)=>({$propertyPath:o,$property:n,$validator:"$externalResults",$uid:`${o}-externalResult-${_}`,$message:m,$params:{},$response:null,$pending:!1})):[]),p.$invalid=vue.computed(()=>{const m=u.some(_=>vue.unref(p[_].$invalid));return v.value=m,!!p.$externalResults.value.length||m}),p.$pending=vue.computed(()=>u.some(m=>vue.unref(p[m].$pending))),p.$error=vue.computed(()=>p.$dirty.value?p.$pending.value||p.$invalid.value:!1),p.$silentErrors=vue.computed(()=>u.filter(m=>vue.unref(p[m].$invalid)).map(m=>{const _=p[m];return vue.reactive({$propertyPath:o,$property:n,$validator:m,$uid:`${o}-${m}`,$message:_.$message,$params:_.$params,$response:_.$response,$pending:_.$pending})}).concat(p.$externalResults.value)),p.$errors=vue.computed(()=>p.$dirty.value?p.$silentErrors.value:[]),p.$unwatch=()=>u.forEach(m=>{p[m].$unwatch()}),p.$commit=()=>{v.value=!0,f.value=Date.now()},a.set(o,e,p),p):(c&&a.set(o,e,p),p)}function collectNestedValidationResults(e,t,n,a,o,r,s){const i=Object.keys(e);return i.length?i.reduce((l,u)=>(l[u]=setValidations({validations:e[u],state:t,key:u,parentKey:n,resultsCache:a,globalConfig:o,instance:r,externalResults:s}),l),{}):{}}function createMetaFields(e,t,n){const a=vue.computed(()=>[t,n].filter(p=>p).reduce((p,m)=>p.concat(Object.values(vue.unref(m))),[])),o=vue.computed({get(){return e.$dirty.value||(a.value.length?a.value.every(p=>p.$dirty):!1)},set(p){e.$dirty.value=p}}),r=vue.computed(()=>{const p=vue.unref(e.$silentErrors)||[],m=a.value.filter(_=>(vue.unref(_).$silentErrors||[]).length).reduce((_,h)=>_.concat(...h.$silentErrors),[]);return p.concat(m)}),s=vue.computed(()=>{const p=vue.unref(e.$errors)||[],m=a.value.filter(_=>(vue.unref(_).$errors||[]).length).reduce((_,h)=>_.concat(...h.$errors),[]);return p.concat(m)}),i=vue.computed(()=>a.value.some(p=>p.$invalid)||vue.unref(e.$invalid)||!1),l=vue.computed(()=>a.value.some(p=>vue.unref(p.$pending))||vue.unref(e.$pending)||!1),u=vue.computed(()=>a.value.some(p=>p.$dirty)||a.value.some(p=>p.$anyDirty)||o.value),c=vue.computed(()=>o.value?l.value||i.value:!1),d=()=>{e.$touch(),a.value.forEach(p=>{p.$touch()})},v=()=>{e.$commit(),a.value.forEach(p=>{p.$commit()})},f=()=>{e.$reset(),a.value.forEach(p=>{p.$reset()})};return a.value.length&&a.value.every(p=>p.$dirty)&&d(),{$dirty:o,$errors:s,$invalid:i,$anyDirty:u,$error:c,$pending:l,$touch:d,$reset:f,$silentErrors:r,$commit:v}}function setValidations(e){let{validations:t,state:n,key:a,parentKey:o,childResults:r,resultsCache:s,globalConfig:i={},instance:l,externalResults:u}=e;const c=o?`${o}.${a}`:a,{rules:d,nestedValidators:v,config:f,validationGroups:p}=sortValidations(t),m=_objectSpread2$1(_objectSpread2$1({},i),f),_=a?vue.computed(()=>{const P=vue.unref(n);return P?vue.unref(P[a]):void 0}):n,h=_objectSpread2$1({},vue.unref(u)||{}),g=vue.computed(()=>{const P=vue.unref(u);return a?P?vue.unref(P[a]):void 0:P}),b=createValidationResults(d,_,a,s,c,m,l,g,n),C=collectNestedValidationResults(v,_,c,s,m,l,g),L={};p&&Object.entries(p).forEach(P=>{let[F,R]=P;L[F]={$invalid:gatherBooleanGroupProperties(R,C,"$invalid"),$error:gatherBooleanGroupProperties(R,C,"$error"),$pending:gatherBooleanGroupProperties(R,C,"$pending"),$errors:gatherArrayGroupProperties(R,C,"$errors"),$silentErrors:gatherArrayGroupProperties(R,C,"$silentErrors")}});const{$dirty:I,$errors:T,$invalid:$,$anyDirty:M,$error:A,$pending:E,$touch:D,$reset:S,$silentErrors:B,$commit:O}=createMetaFields(b,C,r),w=a?vue.computed({get:()=>vue.unref(_),set:P=>{I.value=!0;const F=vue.unref(n),R=vue.unref(u);R&&(R[a]=h[a]),vue.isRef(F[a])?F[a].value=P:F[a]=P}}):null;a&&m.$autoDirty&&vue.watch(_,()=>{I.value||D();const P=vue.unref(u);P&&(P[a]=h[a])},{flush:"sync"});async function V(){return D(),m.$rewardEarly&&(O(),await vue.nextTick()),await vue.nextTick(),new Promise(P=>{if(!E.value)return P(!$.value);const F=vue.watch(E,()=>{P(!$.value),F()})})}function k(P){return(r.value||{})[P]}function N(){vue.isRef(u)?u.value=h:Object.keys(h).length===0?Object.keys(u).forEach(P=>{delete u[P]}):Object.assign(u,h)}return vue.reactive(_objectSpread2$1(_objectSpread2$1(_objectSpread2$1({},b),{},{$model:w,$dirty:I,$error:A,$errors:T,$invalid:$,$anyDirty:M,$pending:E,$touch:D,$reset:S,$path:c||ROOT_PATH,$silentErrors:B,$validate:V,$commit:O},r&&{$getResultsForChild:k,$clearExternalResults:N,$validationGroups:L}),C))}class ResultsStorage{constructor(){this.storage=new Map}set(t,n,a){this.storage.set(t,{rules:n,result:a})}checkRulesValidity(t,n,a){const o=Object.keys(a),r=Object.keys(n);return r.length!==o.length||!r.every(i=>o.includes(i))?!1:r.every(i=>n[i].$params?Object.keys(n[i].$params).every(l=>vue.unref(a[i].$params[l])===vue.unref(n[i].$params[l])):!0)}get(t,n){const a=this.storage.get(t);if(!a)return;const{rules:o,result:r}=a,s=this.checkRulesValidity(t,n,o),i=r.$unwatch?r.$unwatch:()=>({});return s?r:{$dirty:r.$dirty,$partial:!0,$unwatch:i}}}const CollectFlag={COLLECT_ALL:!0,COLLECT_NONE:!1},VuelidateInjectChildResults=Symbol("vuelidate#injectChildResults"),VuelidateRemoveChildResults=Symbol("vuelidate#removeChildResults");function nestedValidations(e){let{$scope:t,instance:n}=e;const a={},o=vue.ref([]),r=vue.computed(()=>o.value.reduce((c,d)=>(c[d]=vue.unref(a[d]),c),{}));function s(c,d){let{$registerAs:v,$scope:f,$stopPropagation:p}=d;p||t===CollectFlag.COLLECT_NONE||f===CollectFlag.COLLECT_NONE||t!==CollectFlag.COLLECT_ALL&&t!==f||(a[v]=c,o.value.push(v))}n.__vuelidateInjectInstances=[].concat(n.__vuelidateInjectInstances||[],s);function i(c){o.value=o.value.filter(d=>d!==c),delete a[c]}n.__vuelidateRemoveInstances=[].concat(n.__vuelidateRemoveInstances||[],i);const l=vue.inject(VuelidateInjectChildResults,[]);vue.provide(VuelidateInjectChildResults,n.__vuelidateInjectInstances);const u=vue.inject(VuelidateRemoveChildResults,[]);return vue.provide(VuelidateRemoveChildResults,n.__vuelidateRemoveInstances),{childResults:r,sendValidationResultsToParent:l,removeValidationResultsFromParent:u}}function ComputedProxyFactory(e){return new Proxy(e,{get(t,n){return typeof t[n]=="object"?ComputedProxyFactory(t[n]):vue.computed(()=>t[n])}})}let uid=0;function useVuelidate(e,t){var n;let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};arguments.length===1&&(a=e,e=void 0,t=void 0);let{$registerAs:o,$scope:r=CollectFlag.COLLECT_ALL,$stopPropagation:s,$externalResults:i,currentVueInstance:l}=a;const u=l||((n=vue.getCurrentInstance())===null||n===void 0?void 0:n.proxy),c=u?u.$options:{};o||(uid+=1,o=`_vuelidate_${uid}`);const d=vue.ref({}),v=new ResultsStorage,{childResults:f,sendValidationResultsToParent:p,removeValidationResultsFromParent:m}=u?nestedValidations({$scope:r,instance:u}):{childResults:vue.ref({})};if(!e&&c.validations){const _=c.validations;t=vue.ref({}),vue.onBeforeMount(()=>{t.value=u,vue.watch(()=>isFunction$2(_)?_.call(t.value,new ComputedProxyFactory(t.value)):_,h=>{d.value=setValidations({validations:h,state:t,childResults:f,resultsCache:v,globalConfig:a,instance:u,externalResults:i||u.vuelidateExternalResults})},{immediate:!0})}),a=c.validationsConfig||a}else{const _=vue.isRef(e)||isProxy(e)?e:vue.reactive(e||{});vue.watch(_,h=>{d.value=setValidations({validations:h,state:t,childResults:f,resultsCache:v,globalConfig:a,instance:u??{},externalResults:i})},{immediate:!0})}return u&&(p.forEach(_=>_(d,{$registerAs:o,$scope:r,$stopPropagation:s})),vue.onBeforeUnmount(()=>m.forEach(_=>_(o)))),vue.computed(()=>_objectSpread2$1(_objectSpread2$1({},vue.unref(d.value)),f.value))}function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,a)}return n}function _objectSpread2(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?ownKeys(Object(n),!0).forEach(function(a){_defineProperty(e,a,n[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(n,a))})}return e}function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function isFunction$1(e){return typeof e=="function"}function isObject$3(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function normalizeValidatorObject(e){return isFunction$1(e.$validator)?_objectSpread2({},e):{$validator:e}}function unwrapValidatorResponse(e){return typeof e=="object"?e.$valid:e}function unwrapNormalizedValidator(e){return e.$validator||e}function withParams(e,t){if(!isObject$3(e))throw new Error(`[@vuelidate/validators]: First parameter to "withParams" should be an object, provided ${typeof e}`);if(!isObject$3(t)&&!isFunction$1(t))throw new Error("[@vuelidate/validators]: Validator must be a function or object with $validator parameter");const n=normalizeValidatorObject(t);return n.$params=_objectSpread2(_objectSpread2({},n.$params||{}),e),n}function withMessage(e,t){if(!isFunction$1(e)&&typeof vue.unref(e)!="string")throw new Error(`[@vuelidate/validators]: First parameter to "withMessage" should be string or a function returning a string, provided ${typeof e}`);if(!isObject$3(t)&&!isFunction$1(t))throw new Error("[@vuelidate/validators]: Validator must be a function or object with $validator parameter");const n=normalizeValidatorObject(t);return n.$message=e,n}function withAsync(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];const n=normalizeValidatorObject(e);return _objectSpread2(_objectSpread2({},n),{},{$async:!0,$watchTargets:t})}function forEach(e){return{$validator(t){for(var n=arguments.length,a=new Array(n>1?n-1:0),o=1;o<n;o++)a[o-1]=arguments[o];return vue.unref(t).reduce((r,s,i)=>{const l=Object.entries(s).reduce((u,c)=>{let[d,v]=c;const f=e[d]||{},p=Object.entries(f).reduce((m,_)=>{let[h,g]=_;const C=unwrapNormalizedValidator(g).call(this,v,s,i,...a),L=unwrapValidatorResponse(C);if(m.$data[h]=C,m.$data.$invalid=!L||!!m.$data.$invalid,m.$data.$error=m.$data.$invalid,!L){let I=g.$message||"";const T=g.$params||{};typeof I=="function"&&(I=I({$pending:!1,$invalid:!L,$params:T,$model:v,$response:C})),m.$errors.push({$property:d,$message:I,$params:T,$response:C,$model:v,$pending:!1,$validator:h})}return{$valid:m.$valid&&L,$data:m.$data,$errors:m.$errors}},{$valid:!0,$data:{},$errors:[]});return u.$data[d]=p.$data,u.$errors[d]=p.$errors,{$valid:u.$valid&&p.$valid,$data:u.$data,$errors:u.$errors}},{$valid:!0,$data:{},$errors:{}});return{$valid:r.$valid&&l.$valid,$data:r.$data.concat(l.$data),$errors:r.$errors.concat(l.$errors)}},{$valid:!0,$data:[],$errors:[]})},$message:t=>{let{$response:n}=t;return n?n.$errors.map(a=>Object.values(a).map(o=>o.map(r=>r.$message)).reduce((o,r)=>o.concat(r),[])):[]}}}const req=e=>{if(e=vue.unref(e),Array.isArray(e))return!!e.length;if(e==null)return!1;if(e===!1)return!0;if(e instanceof Date)return!isNaN(e.getTime());if(typeof e=="object"){for(let t in e)return!0;return!1}return!!String(e).length},len=e=>(e=vue.unref(e),Array.isArray(e)?e.length:typeof e=="object"?Object.keys(e).length:String(e).length);function regex(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return a=>(a=vue.unref(a),!req(a)||t.every(o=>(o.lastIndex=0,o.test(a))))}var common$1=Object.freeze({__proto__:null,forEach,len,normalizeValidatorObject,regex,req,unwrap:vue.unref,unwrapNormalizedValidator,unwrapValidatorResponse,withAsync,withMessage,withParams});regex(/^[a-zA-Z]*$/);regex(/^[a-zA-Z0-9]*$/);regex(/^\d*(\.\d+)?$/);const emailRegex=/^(?:[A-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[A-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9]{2,}(?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/i;var email$1=regex(emailRegex),email={$validator:email$1,$message:"Value is not a valid email address",$params:{type:"email"}};function maxLength$1(e){return t=>!req(t)||len(t)<=vue.unref(e)}function maxLength(e){return{$validator:maxLength$1(e),$message:t=>{let{$params:n}=t;return`The maximum length allowed is ${n.max}`},$params:{max:e,type:"maxLength"}}}function minLength$1(e){return t=>!req(t)||len(t)>=vue.unref(e)}function minLength(e){return{$validator:minLength$1(e),$message:t=>{let{$params:n}=t;return`This field should be at least ${n.min} characters long`},$params:{min:e,type:"minLength"}}}function required$1(e){return typeof e=="string"&&(e=e.trim()),req(e)}var required={$validator:required$1,$message:"Value is required",$params:{type:"required"}};const urlRegex=/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$/i;regex(urlRegex);regex(/(^[0-9]*$)|(^-[0-9]+$)/);regex(/^[-]?\d*(\.\d+)?$/);const postcodeRegex=/^([A-Za-z][A-HJ-Ya-hj-y]?\d[A-Za-z\d]? ?\d[A-Za-z]{2}|GIR ?0A{2})$/,postcode=common$1.regex(postcodeRegex),validateFormElementMixin={emits:["status-update"],data(){return{inputVal:this.value,isInvalid:this.invalid}},computed:{isRequired(){return typeof required<"u"&&"required"in this.validationRules},rules(){let e={};for(const[t,n]of Object.entries(this.validationRules))t==="required"?e={...e,required}:t==="email"?e={...e,email}:t==="minLength"?e={...e,minLength:minLength(n)}:t==="maxLength"?e={...e,maxLength:maxLength(n)}:t==="invalidVal"?e={...e,noInvalid:()=>this.inputVal.indexOf(this.validationRules.invalidVal)===-1}:t==="postcode"&&(e={...e,postcode});return typeof e<"u"?(e={...e},{inputVal:e}):{}},errorsList(){const e=this.inputVal,t=[];Object.keys(this.rules.inputVal).forEach(o=>{this.v$.inputVal?.$errors&&this.v$.inputVal.$errors.forEach(r=>{r.$validator===o&&t.push(o)})});const a=typeof e=="string"?!/\S/.test(e):!e;return"required"in this.rules.inputVal&&this.v$.inputVal?.$anyDirty&&a&&!t.includes("required")&&t.push("required"),t}},watch:{errorsList(e){e.length?this.isInvalid=!0:this.isInvalid=!1}},methods:{manualValidate(){const e=[...this.errorsList];this.isInvalid=e.length>0,this.touched=!0,this.$emit("status-update",{field:this.fieldName,value:this.inputVal,errors:e})},emitStatus(){setTimeout(()=>{this.v$.$touch(),this.manualValidate(),this.touched=!0},50)}}},ariaDescriptionMixin={computed:{ariaDescription(){return this.v$.inputVal&&this.v$.inputVal.$anyError||this.invalid?`error-${this.fieldName}`:this.hintText?`hint-${this.fieldName}`:null}}},_sfc_main$22={name:"VsRadioButton",status:"prototype",release:"0.0.1",components:{BFormRadioGroup:LoadingSpinner.BFormRadioGroup_default,BFormRadio:LoadingSpinner.BFormRadio_default},mixins:[validateFormElementMixin,ariaDescriptionMixin],props:{value:{type:String,default:""},fieldName:{type:String,required:!0},validationRules:{type:Object,default(){return{}}},invalid:{type:Boolean,default:!1},triggerValidate:{type:Boolean,default:!1},validationMessages:{type:Object,default(){return{}}},genericValidation:{type:Object,default(){return{}}},reAlertErrors:{type:Boolean,default:!1},options:{type:Array,required:!0},hintText:{type:String,default:""}},emits:["updated","updateFieldData"],setup:()=>({v$:useVuelidate()}),data(){return{inputVal:this.value,clearErrorsOnFocus:!1,checkedValue:this.value}},computed:{elementClass(){const e=this.v$.inputVal&&this.v$.inputVal.$anyError||this.invalid?"vs-input--error":"",t=`vs-input--${this.fieldName}`;return`${e} ${t}`},showClearButton(){return!!(this.inputVal.length&&this.clearButtonText!=="")},errorClass(){return this.v$.inputVal&&this.v$.inputVal.$anyError||this.invalid?"vs-input--error":""}},watch:{triggerValidate(){this.v$.$touch(),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()})},validateErrors(){this.clearErrorsOnFocus=!1,this.emitStatus()},resetErrors(){this.clearErrorsOnFocus=!0},valueChanged(e){this.checkedValue=e.value,this.$emit("updateFieldData",e)}},validations(){return this.rules}},_hoisted_1$1z={class:"vs-radio-button","data-test":"vs-radio-button"},_hoisted_2$16=["id"],_hoisted_3$U={class:"visually-hidden"},_hoisted_4$D=["id"];function _sfc_render$1L(e,t,n,a,o,r){const s=vue.resolveComponent("BFormRadio"),i=vue.resolveComponent("BFormRadioGroup");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1z,[e.errorsList.length||n.invalid?(vue.openBlock(),vue.createElementBlock("div",{key:0,role:"alert","aria-live":"assertive",id:`error-${n.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_3$U,vue.toDisplayString(n.fieldName),1),vue.createTextVNode(" "+vue.toDisplayString(n.validationMessages[l]||n.genericValidation[l]),1)])),[[vue.vShow,!n.reAlertErrors&&!o.clearErrorsOnFocus]])),128))],8,_hoisted_2$16)):vue.createCommentVNode("",!0),vue.createVNode(i,{id:n.fieldName,"aria-invalid":e.v$.inputVal&&e.v$.inputVal.$anyError||n.invalid,"aria-describedby":e.ariaDescription,onBlur:r.validateErrors,onChange:r.validateErrors,onFocus:r.resetErrors},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(n.options,(l,u)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-radio-button__option",[o.checkedValue===l.value?"vs-radio-button__option--checked":"",{"vs-radio-button__option--disabled":l.disabled}]]),key:u},[vue.createVNode(s,{value:l.value,name:n.fieldName,id:n.fieldName+l.value,onChange:c=>r.valueChanged({field:n.fieldName,value:l.value}),disabled:l.disabled},{default:vue.withCtx(()=>[vue.createElementVNode("span",null,vue.toDisplayString(l.text),1)]),_:2},1032,["value","name","id","onChange","disabled"])],2))),128))]),_:1},8,["id","aria-invalid","aria-describedby","onBlur","onChange","onFocus"]),n.hintText?(vue.openBlock(),vue.createElementBlock("p",{key:1,class:"hint-text",id:`hint-${n.fieldName}`},vue.toDisplayString(n.hintText),9,_hoisted_4$D)):vue.createCommentVNode("",!0)])}const VsRadioButton=LoadingSpinner._export_sfc(_sfc_main$22,[["render",_sfc_render$1L]]),_sfc_main$21={name:"VsInput",status:"prototype",release:"0.0.1",components:{BFormInput:BFormInput_default,VsButton:LoadingSpinner.VsButton},mixins:[validateFormElementMixin,ariaDescriptionMixin],props:{value:{type:Number,default:0},fieldName:{type:String,required:!0},minimumNumber:{type:Number,default:0},maximumNumber:{type:Number,default:10},autoComplete:{type:Boolean,default:!0},validationRules:{type:Object,default(){return{}}},invalid:{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:""},reAlertErrors:{type:Boolean,default:!1}},emits:["updated"],setup:()=>({v$:useVuelidate()}),data(){return{inputVal:this.value,clearErrorsOnFocus:!1}},computed:{elementClass(){const e=this.v$.inputVal&&this.v$.inputVal.$anyError||this.invalid?"vs-input--error":"",t=`vs-input--${this.fieldName}`;return`${e} ${t}`},showClearButton(){return!!(this.inputVal.length&&this.clearButtonText!=="")},errorClass(){return this.v$.inputVal&&this.v$.inputVal.$anyError||this.invalid?"vs-input--error":""}},watch:{triggerValidate(){this.v$.$touch(),this.manualValidate()},inputVal(e){this.$emit("updated",{field:this.fieldName,value:e})},value(e){this.inputVal=e}},methods:{clearInput(){this.inputVal=0},focusOnInput(){this.$nextTick(()=>{this.$refs.input.$el.focus()})},clearInputAndFocus(){this.clearInput(),this.focusOnInput()},controlBlurred(){this.inputVal<this.minimumNumber&&(this.inputVal=this.minimumNumber),this.inputVal>this.maximumNumber&&(this.inputVal=this.maximumNumber),this.validateErrors()},validateErrors(){this.clearErrorsOnFocus=!1,this.emitStatus()},resetErrors(){this.clearErrorsOnFocus=!0},decrementValue(e){e&&e.preventDefault(),this.inputVal=Math.max(this.inputVal-1,this.minimumNumber)},incrementValue(e){e&&e.preventDefault(),this.inputVal=Math.min(this.inputVal+1,this.maximumNumber)}},validations(){return this.rules}},_hoisted_1$1y={"data-test":"vs-number-input"},_hoisted_2$15=["id"],_hoisted_3$T=["id"],_hoisted_4$C={class:"visually-hidden"},_hoisted_5$t={class:"visually-hidden"};function _sfc_render$1K(e,t,n,a,o,r){const s=vue.resolveComponent("VsButton"),i=vue.resolveComponent("BFormInput");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1y,[n.hintText?(vue.openBlock(),vue.createElementBlock("p",{key:0,class:"hint-text",id:`hint-${n.fieldName}`},vue.toDisplayString(n.hintText),9,_hoisted_2$15)):vue.createCommentVNode("",!0),e.errorsList.length||n.invalid?(vue.openBlock(),vue.createElementBlock("div",{key:1,role:"alert","aria-live":"assertive",id:`error-${n.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$C,vue.toDisplayString(n.fieldName),1),vue.createTextVNode(" "+vue.toDisplayString(n.validationMessages[l]||n.genericValidation[l]),1)])),[[vue.vShow,!n.reAlertErrors&&!o.clearErrorsOnFocus]])),128))],8,_hoisted_3$T)):vue.createCommentVNode("",!0),vue.createVNode(s,{class:"vs-number-input__increment","icon-only":!0,size:"sm",icon:"fa-regular fa-minus",disabled:o.inputVal<=n.minimumNumber?!0:null,onClick:r.decrementValue},{default:vue.withCtx(()=>[...t[2]||(t[2]=[vue.createTextVNode(" Remove 1 ",-1)])]),_:1},8,["disabled","onClick"]),vue.createVNode(i,{ref:"input",type:"Number",class:vue.normalizeClass(["vs-number-input",r.elementClass]),modelValue:o.inputVal,"onUpdate:modelValue":t[0]||(t[0]=l=>o.inputVal=l),id:n.fieldName,name:n.fieldName,required:e.isRequired,v:o.inputVal,"aria-invalid":e.v$.inputVal&&e.v$.inputVal.$anyError||n.invalid,"aria-describedby":e.ariaDescription,maxlength:n.validationRules.maxLength?n.validationRules.maxLength:null,minlength:n.validationRules.minLength?n.validationRules.minLength:null,min:n.minimumNumber||null,max:n.maximumNumber||null,onBlur:r.controlBlurred,onChange:r.validateErrors,onFocus:r.resetErrors},null,8,["modelValue","class","id","name","required","v","aria-invalid","aria-describedby","maxlength","minlength","min","max","onBlur","onChange","onFocus"]),vue.createVNode(s,{class:"vs-number-input__increment","icon-only":!0,size:"sm",icon:"fa-regular fa-plus",disabled:o.inputVal>=n.maximumNumber?!0:null,onClick:r.incrementValue},{default:vue.withCtx(()=>[...t[3]||(t[3]=[vue.createTextVNode(" Add 1 ",-1)])]),_:1},8,["disabled","onClick"]),r.showClearButton?(vue.openBlock(),vue.createBlock(s,{key:2,class:"vs-number-input__clear-button d-none d-lg-block","data-test":"input-clear-button",variant:"subtle",icon:"vs-icon-control-dismiss",size:"md","icon-only":"",onClick:t[1]||(t[1]=vue.withModifiers(l=>r.clearInputAndFocus(),["prevent"]))},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_5$t,vue.toDisplayString(n.clearButtonText),1)]),_:1})):vue.createCommentVNode("",!0)])}const VsNumberInput=LoadingSpinner._export_sfc(_sfc_main$21,[["render",_sfc_render$1K]]),_sfc_main$20={name:"VsCarbonCalculatorQuestion",status:"prototype",release:"0.0.1",components:{BFormGroup:LoadingSpinner.BFormGroup_default,VsRadioButton,VsNumberInput},props:{label:{type:String,required:!0},labelFor:{type:String,required:!0},hint:{type:String,default:""},fieldClass:{type:String,required:!0},fieldType:{type:String,default:"radio",validator:e=>e.match(/(radio|number)/)},fieldName:{type:String,required:!0},options:{type:Array,required:!0},minimum:{type:Number,default:0},maximum:{type:Number,default:0}},emits:["updateFieldData"],methods:{valueChanged(e){this.$emit("updateFieldData",e)}}},_hoisted_1$1x=["for"];function _sfc_render$1J(e,t,n,a,o,r){const s=vue.resolveComponent("VsRadioButton"),i=vue.resolveComponent("VsNumberInput"),l=vue.resolveComponent("BFormGroup");return vue.openBlock(),vue.createBlock(l,{class:vue.normalizeClass([n.fieldClass,"vs-carbon-calculator-question"]),"data-test":"vs-carbon-calculator-question"},{default:vue.withCtx(()=>[vue.createElementVNode("div",{class:vue.normalizeClass(n.fieldClass)},[vue.createElementVNode("label",{class:"vs-carbon-calculator-question__label mb-200",for:n.fieldName},vue.toDisplayString(n.label),9,_hoisted_1$1x),n.fieldType==="radio"?(vue.openBlock(),vue.createBlock(s,{key:0,"field-name":n.fieldName,options:n.options,required:!0,"hint-text":n.hint,onUpdateFieldData:r.valueChanged},null,8,["field-name","options","hint-text","onUpdateFieldData"])):vue.createCommentVNode("",!0),n.fieldType==="number"?(vue.openBlock(),vue.createBlock(i,{key:1,"field-name":n.fieldName,"increment-controls":!0,value:0,"minimum-number":n.minimum,"maximum-number":n.maximum,"hint-text":n.hint,onUpdated:r.valueChanged},null,8,["field-name","minimum-number","maximum-number","hint-text","onUpdated"])):vue.createCommentVNode("",!0)],2)]),_:1},8,["class"])}const VsCarbonCalculatorQuestion=LoadingSpinner._export_sfc(_sfc_main$20,[["render",_sfc_render$1J]]),_sfc_main$1$={name:"VsCarbonCalculator",status:"deprecated",release:"0.0.1",components:{VsButton:LoadingSpinner.VsButton,VsContainer:LoadingSpinner.VsContainer,VsCol:LoadingSpinner.VsCol,VsRow:LoadingSpinner.VsRow,VsWarning:LoadingSpinner.VsWarning,VsProgressBar,VsHeading:LoadingSpinner.VsHeading,VsCarbonCalculatorResults,VsCarbonCalculatorTip,VsCarbonCalculatorRunningTotal,VsCarbonCalculatorIntro,VsCarbonCalculatorQuestion},mixins:[LoadingSpinner.dataLayerMixin],provide(){return{labelsMap:this.labelsMap}},props:{labelsMap:{type:Object,required:!0},language:{type:String,default:"en-gb"}},data(){return this.initialState()},computed:{currentQuestion(){return!this.formData||!this.activeStage?null:this.formData.fields[this.activeStage-1]},currentTip(){return this.activeStage&&this.labelsMap[`stage-${this.activeStage}.tip`]?this.labelsMap[`stage-${this.activeStage}.tip`]:""},stayDuration(){return this.form.howLongStay?parseInt(this.form.howLongStay,10):0},currentCategory(){return this.labelsMap[`stage-${this.activeStage}.title`]?this.labelsMap[`stage-${this.activeStage}.title`]:""},activeStageRepeatable(){return this.labelsMap[`stage-${this.activeStage}.repeat`]?this.labelsMap[`stage-${this.activeStage}.repeat`]:""}},mounted(){this.getFormData()},methods:{initialState(){return{formData:{},messagingData:{},form:{},formIsInvalid:!1,showErrorMessage:!1,errorFields:[],triggerValidate:!1,conditionalFields:{},reAlertErrors:!1,totalKilos:0,transportKilos:0,accommodationKilos:0,foodKilos:0,transportTip:null,foodTip:null,accommodationTip:null,transportInternalTip:null,activeStage:0,answerSet:!1,repeatableStages:{}}},restart(){const{formData:e,repeatableStages:t}=this;Object.assign(this.$data,this.initialState()),this.$data.formData=e,this.$data.repeatableStages=t,this.cleanFields()},cleanFields(){for(let e=this.formData.fields.length-1;e>=0;e--)this.formData.fields[e].isClone&&this.formData.fields.splice(e,1);for(let e=0;e<Object.keys(this.repeatableStages).length;e++)this.repeatableStages[Object.keys(this.repeatableStages)[e]].generations=0},getFormData(){LoadingSpinner.axios.get(this.labelsMap.formUrl).then(e=>{if(this.formData=e.data,e.data.fields.forEach(t=>{this.form[t.name]="",t.conditional&&(this.conditionalFields[t.name]=!1)}),this.repeatableStages={},e.data.repeatableStages)for(let t=0;t<e.data.repeatableStages.length;t++)this.repeatableStages[e.data.repeatableStages[t]]={generations:0}})},getMessagingData(e,t){return Object.keys(this.messagingData).length>0?this.messagingData[t][e]:e==="validation"?{}:""},getQuestionLabel(e,t){if(e.isClone){if(this.labelsMap[`question-${e.originalNumber+1}.clone-question`])return this.labelsMap[`question-${e.originalNumber+1}.clone-question`];if(this.labelsMap[`question-${e.originalNumber+1}.question`])return this.labelsMap[`question-${e.originalNumber+1}.question`]}return this.labelsMap[`question-${t+1}.question`]?this.labelsMap[`question-${t+1}.question`]:""},getQuestionHint(e,t){if(e.isClone){if(this.labelsMap[`question-${e.originalNumber+1}.clone-hint`])return this.labelsMap[`question-${e.originalNumber+1}.clone-hint`];if(this.labelsMap[`question-${e.originalNumber+1}.hint`])return this.labelsMap[`question-${e.originalNumber+1}.hint`]}return this.labelsMap[`question-${t+1}.hint`]?this.labelsMap[`question-${t+1}.hint`]:""},getQuestionOptions(e,t){let n;if(e.isClone?n=e.originalNumber:n=t,e.element==="radio"){const{options:a}=e;for(let o=0;o<a.length;o++)a[o].text=this.labelsMap[`question-${n+1}.option-${o+1}`];return a}return[]},updateFieldData(e){this.form[e.field]=e.value||"",e.value?this.answerSet=!0:this.answerSet=!1,this.manageErrorStatus(e.field,e.errors),this.checkConditionalFields(),this.calculateEmissions()},manageErrorStatus(e,t){const n=this.errorFields.indexOf(e);n!==-1?(!t||t.length<1)&&this.errorFields.splice(n,1):t&&t.length>0&&this.errorFields.push(e)},getRadioValue(e,t){if(!t)return 0;let n;for(let o=0;o<this.formData.fields.length;o++)this.formData.fields[o].name===e&&(n=this.formData.fields[o]);const a=n.values[t];if(n.multiplyByNumber)return a*n.multiplyByNumber;if(n.multiplyByAnswer){let o=this.form[n.multiplyByAnswer.question]||0;return o=Math.max(o,n.multiplyByAnswer.minimum),a*o}if(n.multiplyByValue&&e!==n.multiplyByValue){let o=this.getNumberValue(n.multiplyByValue.question,this.form[n.multiplyByValue.question])||0;return o=Math.max(o,n.multiplyByValue.minimum),a*o}return a},getNumberValue(e,t){if(!t)return 0;let n;for(let a=0;a<this.formData.fields.length;a++)this.formData.fields[a].name===e&&(n=this.formData.fields[a]);if(n.multiplyByNumber)return parseInt(t,10)*n.multiplyByNumber;if(n.multiplyByAnswer){const a=this.form[n.multiplyByAnswer.question]||0;return parseInt(t,10)*a}if(n.multiplyByValue&&e!==n.multiplyByValue){const a=this.getNumberValue(n.multiplyByValue.question,this.form[n.multiplyByValue.question]);return parseInt(t,10)*a}return 0},getFieldValue(e){return e.element==="radio"?this.getRadioValue(e.name,this.form[e.name]):e.element==="number"?this.getNumberValue(e.name,this.form[e.name]):0},calculateEmissions(){this.transportKilos=0,this.accommodationKilos=0,this.foodKilos=0;for(let e=0;e<this.formData.fields.length;e++){const t=this.formData.fields[e];switch(t.stage){case 1:case 3:this.transportKilos+=this.getFieldValue(t);break;case 2:this.accommodationKilos+=this.getFieldValue(t);break;case 4:this.foodKilos+=this.getFieldValue(t);break}}this.totalKilos=this.transportKilos+this.accommodationKilos+this.foodKilos},checkConditionalFields(){Object.keys(this.conditionalFields).forEach(e=>{const t=this.formData.fields.find(a=>a.name===e);let n=!0;Object.keys(t.conditional).forEach(a=>{const o=t.conditional[a];Array.isArray(o)?o.indexOf(this.form[a])===-1&&(n=!1):this.form[a]!==o&&(n=!1),n?this.conditionalFields[e]=!0:(this.conditionalFields[e]=!1,this.manageErrorStatus(e,[]))})})},forwardPage(e){e&&e.preventDefault(),this.activeStage&&this.createDataLayerObject("carbonQuestionEvent",{questionNumber:this.activeStage,answer:this.form[this.currentQuestion.name]}),this.activeStage+=1,this.checkNewAnswerSet(),this.resetFocus()},backwardPage(e){e&&e.preventDefault(),this.activeStage-=1,this.checkNewAnswerSet(),this.resetFocus()},checkNewAnswerSet(){if(this.activeStage>this.formData.stages){this.answerSet=!0;return}this.answerSet=!0;for(let e=0;e<this.formData.fields.length;e++)if(this.formData.fields[e].stage===this.activeStage){const t=this.formData.fields[e];t.element==="radio"&&!this.form[t.name]?this.answerSet=!1:t.element==="number"&&!this.form[t.name]&&(this.form[t.name]=t.validation.min)}},isRepeatable(e){return!!(this.repeatableStages[e]&&this.repeatableStages[e].generations<3)},conditionalElementClass(e){return this.conditionalFields[e]===!0||typeof this.conditionalFields[e]>"u"?"":"d-none"},resetFocus(){this.$nextTick(()=>{this.$nextTick(()=>{try{this.$refs.questions[this.activeStage-1].$el.focus(),this.$refs.progress.$el.scrollIntoView()}catch{}})})},duplicateCurrentStage(e){e&&e.preventDefault();const t=this.repeatableStages[this.activeStage].generations+1;for(let n=0;n<this.formData.fields.length;n++){const a=this.formData.fields[n];if(a.stage===this.activeStage&&!a.isClone){const o=JSON.parse(JSON.stringify(a));o.isClone=!0;const r=`${a.name}${t}`;o.name=r,o.originalNumber=n,this.form[r]="",this.formData.fields.push(o)}}this.repeatableStages[this.activeStage].generations=t}}},_hoisted_1$1w={class:"vs-carbon-calculator__wrapper"},_hoisted_2$14={key:1};function _sfc_render$1I(e,t,n,a,o,r){const s=vue.resolveComponent("VsCarbonCalculatorIntro"),i=vue.resolveComponent("VsProgressBar"),l=vue.resolveComponent("VsHeading"),u=vue.resolveComponent("VsCarbonCalculatorQuestion"),c=vue.resolveComponent("VsButton"),d=vue.resolveComponent("VsCarbonCalculatorTip"),v=vue.resolveComponent("VsCol"),f=vue.resolveComponent("VsCarbonCalculatorRunningTotal"),p=vue.resolveComponent("VsCarbonCalculatorResults"),m=vue.resolveComponent("VsRow"),_=vue.resolveComponent("VsContainer"),h=vue.resolveComponent("VsWarning");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1w,[vue.createVNode(_,{class:"vs-carbon-calculator","data-test":"vs-carbon-calculator"},{default:vue.withCtx(()=>[e.formData&&e.formData.fields?(vue.openBlock(),vue.createBlock(m,{key:0,class:"vs-carbon-calculator__survey"},{default:vue.withCtx(()=>[vue.createVNode(v,null,{default:vue.withCtx(()=>[e.activeStage?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(s,{key:0})),e.activeStage?(vue.openBlock(),vue.createElementBlock("form",_hoisted_2$14,[vue.createElementVNode("fieldset",null,[vue.createVNode(i,{max:e.formData.stages,"current-step":e.activeStage<=e.formData.stages?e.activeStage:e.formData.stages,"is-stepped":!0,"is-full":e.activeStage>e.formData.stages,"progress-label":n.labelsMap.progress,ref:"progress"},null,8,["max","current-step","is-full","progress-label"]),vue.withDirectives(vue.createElementVNode("div",null,[r.currentCategory?(vue.openBlock(),vue.createBlock(l,{key:0,level:"2","heading-style":"heading-m",class:"vs-carbon-calculator__category-heading"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.currentCategory),1)]),_:1})):vue.createCommentVNode("",!0),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.formData.fields,(g,b)=>vue.withDirectives((vue.openBlock(),vue.createBlock(u,{ref_for:!0,ref:"questions",tabindex:"0",key:g.name,label:r.getQuestionLabel(g,b),"label-for":g.name,hint:r.getQuestionHint(g,b),"field-class":r.conditionalElementClass(g.name),"field-type":g.element,"field-name":g.name,options:r.getQuestionOptions(g,b),minimum:g.element==="number"?g.validation.min:0,maximum:g.element==="number"?g.validation.max:0,onUpdateFieldData:r.updateFieldData},null,8,["label","label-for","hint","field-class","field-type","field-name","options","minimum","maximum","onUpdateFieldData"])),[[vue.vShow,g.stage===e.activeStage]])),128))],512),[[vue.vShow,e.activeStage<=e.formData.fields.length]])])])):vue.createCommentVNode("",!0),r.isRepeatable(e.activeStage)?(vue.openBlock(),vue.createBlock(c,{key:2,class:"my-100",variant:"secondary",icon:"fa-regular fa-plus",onClick:t[0]||(t[0]=g=>r.duplicateCurrentStage())},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.activeStageRepeatable),1)]),_:1})):vue.createCommentVNode("",!0),r.currentTip?(vue.openBlock(),vue.createBlock(d,{key:3,tip:r.currentTip},null,8,["tip"])):vue.createCommentVNode("",!0)]),_:1}),vue.createVNode(v,{cols:"12"},{default:vue.withCtx(()=>[e.activeStage>0&&e.activeStage<=e.formData.stages?(vue.openBlock(),vue.createBlock(f,{key:0,"total-kilos":e.totalKilos,language:n.language},null,8,["total-kilos","language"])):vue.createCommentVNode("",!0),e.activeStage>e.formData.stages?(vue.openBlock(),vue.createBlock(p,{key:1,"total-kilos":e.totalKilos,"transport-kilos":e.transportKilos,"food-kilos":e.foodKilos,"accommodation-kilos":e.accommodationKilos,"stay-duration":r.stayDuration,"comparison-replacements":e.formData.comparisonReplacements,language:n.language},null,8,["total-kilos","transport-kilos","food-kilos","accommodation-kilos","stay-duration","comparison-replacements","language"])):vue.createCommentVNode("",!0)]),_:1}),e.activeStage===0?(vue.openBlock(),vue.createBlock(v,{key:0,class:"text-center",cols:"12"},{default:vue.withCtx(()=>[vue.createVNode(c,{variant:"primary",type:"submit",class:"vs-form__submit mt-300",onClick:t[1]||(t[1]=g=>r.forwardPage())},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(n.labelsMap.begin),1)]),_:1})]),_:1})):vue.createCommentVNode("",!0),e.activeStage>0?(vue.openBlock(),vue.createBlock(v,{key:1,cols:"12"},{default:vue.withCtx(()=>[e.activeStage>1?(vue.openBlock(),vue.createBlock(c,{key:0,variant:"secondary",type:"submit",class:"vs-form__submit mt-300 float-start",ref:"backPage",onClick:t[2]||(t[2]=g=>r.backwardPage())},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(n.labelsMap.previous),1)]),_:1},512)):vue.createCommentVNode("",!0),e.activeStage<e.formData.stages?(vue.openBlock(),vue.createBlock(c,{key:1,variant:"primary",type:"submit",class:"vs-form__submit mt-300 float-end",ref:"forwardPage",disabled:e.activeStage>0&&!e.answerSet,onClick:t[3]||(t[3]=g=>r.forwardPage())},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(n.labelsMap.next),1)]),_:1},8,["disabled"])):vue.createCommentVNode("",!0),e.activeStage===e.formData.stages?(vue.openBlock(),vue.createBlock(c,{key:2,variant:"primary",type:"submit",class:"vs-form__submit mt-300 float-end",disabled:!e.answerSet,onClick:t[4]||(t[4]=g=>r.forwardPage())},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(n.labelsMap.results),1)]),_:1},8,["disabled"])):vue.createCommentVNode("",!0),e.activeStage>e.formData.stages?(vue.openBlock(),vue.createBlock(c,{key:3,variant:"primary",type:"submit",class:"vs-form__submit mt-300 float-end",onClick:t[5]||(t[5]=g=>r.restart())},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(n.labelsMap.restart),1)]),_:1})):vue.createCommentVNode("",!0)]),_:1})):vue.createCommentVNode("",!0)]),_:1})):vue.createCommentVNode("",!0)]),_:1}),vue.createVNode(h,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(n.labelsMap.noJsMessage),1)]),_:1})])}const CarbonCalculator=LoadingSpinner._export_sfc(_sfc_main$1$,[["render",_sfc_render$1I]]),_sfc_main$1_={name:"VsCard",status:"prototype",release:"0.1.0",provide(){return{registerMedia:e=>{this.mediaComponent=e}}},props:{cardStyle:{type:String,default:null,validator:e=>e.match(/(elevated|outlined|overlay)/)},fillColor:{type:String,default:"vs-color-interaction-cta-subtle"},accentBar:{type:Boolean,default:!1},horizontal:{type:Boolean,default:!1}},data(){return{tokens:LoadingSpinner.designTokens,mediaComponent:null}},computed:{cardClasses(){return[{"vs-card--horizontal":this.horizontal,"vs-card--accent-bar":this.accentBar},this.cardStyle?`vs-card--${this.cardStyle}`:null]},cardStyles(){return this.fillColor?{"background-color":this.tokens[this.fillColor]||this.fillColor}:null}},methods:{toggle(){this.mediaComponent&&this.mediaComponent?.toggleVideo?.()}}},_hoisted_1$1v={key:0,class:"vs-card__header"},_hoisted_2$13={class:"vs-card__body"},_hoisted_3$S={key:1,class:"vs-card__footer"},_hoisted_4$B={key:2,class:"vs-card__media"},_hoisted_5$s={key:3,class:"vs-card__overlay-controls"};function _sfc_render$1H(e,t,n,a,o,r){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-card",r.cardClasses]),"data-test":"vs-card",style:vue.normalizeStyle(r.cardStyles)},[e.$slots["vs-card-header"]&&e.$slots["vs-card-header"]()?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1v,[vue.renderSlot(e.$slots,"vs-card-header")])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_2$13,[vue.renderSlot(e.$slots,"vs-card-body")]),e.$slots["vs-card-footer"]&&e.$slots["vs-card-footer"]()?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$S,[vue.renderSlot(e.$slots,"vs-card-footer")])):vue.createCommentVNode("",!0),n.cardStyle==="overlay"&&e.$slots["vs-card-image"]&&e.$slots["vs-card-image"]()?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$B,[vue.renderSlot(e.$slots,"vs-card-image")])):vue.createCommentVNode("",!0),e.$slots["vs-card-overlay-controls"]&&e.$slots["vs-card-overlay-controls"]()?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$s,[vue.renderSlot(e.$slots,"vs-card-overlay-controls")])):vue.createCommentVNode("",!0)],6)}const VsCard=LoadingSpinner._export_sfc(_sfc_main$1_,[["render",_sfc_render$1H]]),_sfc_main$1Z={name:"VsCardGroup",status:"deprecated",release:"0.1.0",props:{variant:{type:String,default:"grid",validator:e=>e.match(/(grid)/)},cardsPerRow:{type:Number,default:3,validator:e=>[3,4].includes(e)},scrollSnap:{type:[Boolean,String],default:!1,validator:e=>[!1,!0,"always"].includes(e)}},computed:{cardGroupClasses(){return["vs-card-group",{"is-scroll-snap-responsive":this.scrollSnap===!0,"is-scroll-snap-always":this.scrollSnap==="always","is-grid":this.variant==="grid"}]}}};function _sfc_render$1G(e,t,n,a,o,r){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(r.cardGroupClasses),style:vue.normalizeStyle({"--cards-in-row":n.cardsPerRow}),"data-test":"vs-card-group"},[vue.renderSlot(e.$slots,"default")],6)}const VsCardGroup=LoadingSpinner._export_sfc(_sfc_main$1Z,[["render",_sfc_render$1G]]),noJsClass="no-js",jsIsDisabled=()=>document.getElementsByClassName(noJsClass).length>0,useVideoStore=pinia.defineStore("video",{state:()=>({videos:{}}),actions:{addVideo(e){this.videos[e.videoId]={...e}}}}),cookieCheckerMixin={data(){return{requiredCookies:[],requiredCookiesAllowed:!1,cookieManagerLoaded:!1}},methods:{managerLoaded(){this.cookieManagerLoaded=!0},cookiesUpdated(){let e=!1;typeof CookieControl<"u"&&this.requiredCookies&&(e=this.requiredCookies.every(t=>CookieControl&&CookieControl.getCategoryConsent(t)===!0)),this.requiredCookiesAllowed=e,typeof this.callbackOnUpdated<"u"&&this.callbackOnUpdated()}},computed:{cookiesAllowed(){return typeof window<"u"&&window.bypassCookiesRequired?!0:this.requiredCookiesAllowed},cookiesLoaded(){return typeof window<"u"&&window.bypassCookiesLoaded?!0:this.cookieManagerLoaded}},mounted(){window.addEventListener("cookieManagerLoaded",()=>{this.managerLoaded()}),window.addEventListener("cookiesUpdated",()=>{this.cookiesUpdated()})}},cookieCategories=Object.freeze({analytical:0,marketing:1}),cookieValues$5={youtube:[cookieCategories.marketing],embed:[cookieCategories.analytical,cookieCategories.marketing],google_maps:[cookieCategories.analytical,cookieCategories.marketing]},cookieValues$4=cookieValues$5.youtube,_sfc_main$1Y={name:"VsStretchedLinkCard",status:"deprecated",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,VsLink,VsImg:LoadingSpinner.VsImg,VsButton:LoadingSpinner.VsButton,VsWarning:LoadingSpinner.VsWarning},mixins:[cookieCheckerMixin],inject:{noJsMessage:{default:null},theme:{default:null},noCookiesMessage:{default:null},cookieLinkText:{default:null}},props:{link:{type:String,required:!0},headingLevel:{type:[String,Number],default:"3",validator:e=>e.match(/(1|2|3|4|5|6)/)},headingStyle:{type:[String,Number],default:"heading-xs",validator:e=>e.match(/(display-m|display-s|heading-xl|heading-l|heading-m|heading-s|heading-xs|heading-xxs)/)},type:{type:String,required:!0,validator:e=>e.match(/(default|external|internal|download|video)/)},imgSrc:{type:String,default:void 0},imgAlt:{type:String,default:""},disabled:{type:Boolean,default:!1},videoId:{type:String,default:""},videoBtnText:{type:String,default:""},errorMessage:{type:String,default:""},errorType:{type:String,default:"image",validator:e=>e.match(/(image|full)/)},warningSize:{type:String,default:"small",validator:e=>e.match(/(normal|small)/)},businessSupport:{type:Boolean,default:!1},isHomePage:{type:Boolean,default:!1}},setup(){return{videoStore:useVideoStore()}},data(){return{jsDisabled:!0,requiredCookies:cookieValues$4}},computed:{formattedVideoBtnText(){return`${this.videoBtnText} | `},formattedVideoDuration(){let e=`${this.videoDetails.videoFullDuration.seconds}`;return e.length===1&&(e=`0${e}`),`${this.videoDetails.videoFullDuration.minutes}:${e}`},stretchedLinkCardClasses(){let e="";return this.disabled&&(e+="vs-stretched-link-card--disabled"),this.type==="video"&&(e+=" vs-stretched-link-card--video"),this.showWarning&&this.type==="video"&&(e+=" vs-stretched-link-card--warning"),e},videoDetails(){return this.videoStore?this.videoStore.videos[this.videoId]:null},videoLoaded(){return typeof this.videoDetails<"u"&&this.videoDetails.videoDuration>0},warningClass(){let e="";return this.videoId&&(this.jsDisabled||!this.cookiesAllowed)&&(e="vs-stretched-link-card__img-container--warning ",this.errorType==="full"&&(this.cookiesLoaded||this.jsDisabled)&&(e+="vs-stretched-link-card__img-container--warning-full")),e},showCookieWarning(){return!!(this.videoId&&!this.jsDisabled&&!this.cookiesAllowed&&this.cookiesLoaded)},showError(){return!!(this.videoId&&this.errorMessage!==""&&!this.cookiesLoaded)},showWarning(){return this.showError||this.showCookieWarning?this.errorType:!!this.jsDisabled},warningMessage(){let e="";return this.showCookieWarning?e=this.noCookiesMessage:e=this.errorMessage,e},warningAttrs(){const e={};return this.type==="cookie"&&(e.class="vs-warning__cookie-trigger"),this.size==="small"&&(e.size="sm"),e},isSvg(){return!!(this.imgSrc&&this.imgSrc.includes(".svg"))}},mounted(){this.jsDisabled=jsIsDisabled()},methods:{emitShowModal(){!this.videoId||!this.cookiesAllowed||this.emitter&&this.emitter.emit("showModal",this.videoId,"#videoShow")}}},_hoisted_1$1u={key:0,class:"vs-stretched-link-card__video-btn-text"},_hoisted_2$12={key:4,class:"card-body"},_hoisted_3$R={key:0,class:"vs-stretched-link-card__category","data-test":"vs-stretched-link-card__category"},_hoisted_4$A={class:"vs-stretched-link-card__content","data-test":"vs-stretched-link-card__content"},_hoisted_5$r={key:2,class:"vs-stretched-link-card__badges","data-test":"vs-stretched-link-card__badges"};function _sfc_render$1F(e,t,n,a,o,r){const s=vue.resolveComponent("VsWarning"),i=vue.resolveComponent("VsImg"),l=vue.resolveComponent("VsButton"),u=vue.resolveComponent("VsLink"),c=vue.resolveComponent("VsHeading");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["card vs-stretched-link-card",r.stretchedLinkCardClasses]),"data-test":"vs-stretched-link-card",onClick:t[0]||(t[0]=(...d)=>r.emitShowModal&&r.emitShowModal(...d)),onKeypress:t[1]||(t[1]=(...d)=>r.emitShowModal&&r.emitShowModal(...d))},[r.showWarning==="full"?(vue.openBlock(),vue.createBlock(s,{key:0,size:n.warningSize,type:r.showCookieWarning?"cookie":"normal","data-test":"vs-stretched-link-card__full-warning",class:"vs-stretched-link-card__full-warning"},vue.createSlots({default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.warningMessage)+" ",1)]),_:2},[r.cookieLinkText!==""&&r.showCookieWarning?{name:"button-text",fn:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.cookieLinkText),1)]),key:"0"}:void 0]),1032,["size","type"])):vue.createCommentVNode("",!0),n.errorType==="full"&&n.videoId!==""?(vue.openBlock(),vue.createBlock(s,{key:1,size:n.warningSize,"data-test":"vs-stretched-link-card__full-warning",class:"vs-stretched-link-card__full-warning vs-stretched-link-card__full-warning--no-js"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.noJsMessage),1)]),_:1},8,["size"])):vue.createCommentVNode("",!0),n.imgSrc?(vue.openBlock(),vue.createElementBlock("div",{key:2,class:vue.normalizeClass(["vs-stretched-link-card__img-container",r.warningClass])},[n.imgSrc?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(i,{src:n.imgSrc,alt:n.imgAlt,class:vue.normalizeClass(["vs-stretched-link-card__img",r.isSvg?"vs-stretched-link-card__img--svg":""]),"data-test":"vs-stretched-link-card__img","data-chromatic":"ignore"},null,8,["src","alt","class"]),n.videoId&&r.videoLoaded&&e.cookiesAllowed?(vue.openBlock(),vue.createBlock(l,{key:0,class:"vs-stretched-link-card__video-button","data-test":"vs-stretched-link-card__video-button",icon:"fa-regular fa-play","icon-position":"left",size:"md",ref:"videoShow",rounded:!1,onClick:r.emitShowModal},{default:vue.withCtx(()=>[n.videoBtnText?(vue.openBlock(),vue.createElementBlock("span",_hoisted_1$1u,vue.toDisplayString(r.formattedVideoBtnText),1)):vue.createCommentVNode("",!0),vue.createTextVNode(" "+vue.toDisplayString(r.formattedVideoDuration),1)]),_:1},8,["onClick"])):vue.createCommentVNode("",!0)],64)):vue.createCommentVNode("",!0),r.showWarning==="image"?(vue.openBlock(),vue.createBlock(s,{key:1,size:n.warningSize,type:r.showCookieWarning?"cookie":"normal","data-test":"vs-stretched-link-card__image-warning",class:"vs-stretched-link-card__image-warning"},vue.createSlots({default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.warningMessage)+" ",1)]),_:2},[r.cookieLinkText!==""&&r.showCookieWarning?{name:"button-text",fn:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.cookieLinkText),1)]),key:"0"}:void 0]),1032,["size","type"])):vue.createCommentVNode("",!0),n.videoId!==""&&n.errorType==="image"?(vue.openBlock(),vue.createBlock(s,{key:2,size:n.warningSize,"data-test":"vs-stretched-link-card__warning",class:"vs-stretched-link-card__image-warning vs-stretched-link-card__image-warning--no-js"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.noJsMessage),1)]),_:1},8,["size"])):vue.createCommentVNode("",!0)],2)):vue.createCommentVNode("",!0),e.$slots["stretched-card-panels"]&&e.$slots["stretched-card-panels"]()?vue.renderSlot(e.$slots,"stretched-card-panels",{},void 0,void 0,3):vue.createCommentVNode("",!0),r.showWarning!=="full"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$12,[e.$slots["stretched-card-category"]&&e.$slots["stretched-card-category"]()?(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$R,[vue.renderSlot(e.$slots,"stretched-card-category")])):vue.createCommentVNode("",!0),e.$slots["stretched-card-header"]&&e.$slots["stretched-card-header"]()?(vue.openBlock(),vue.createBlock(c,{key:1,level:n.headingLevel,"heading-style":n.headingStyle,class:"card-title vs-stretched-link-card__title","data-test":"vs-stretched-link-card__title"},{default:vue.withCtx(()=>[e.$slots["stretched-card-link"]&&e.$slots["stretched-card-link"]()?vue.renderSlot(e.$slots,"stretched-card-header",{},void 0,void 0,0):!n.businessSupport&&n.type==="video"?vue.renderSlot(e.$slots,"stretched-card-header",{},void 0,void 0,1):(vue.openBlock(),vue.createBlock(u,{key:2,href:n.link,type:n.type,class:vue.normalizeClass(["stretched-link",n.disabled?"stretched-link--disabled":""]),variant:r.theme==="dark"?"on-dark":"primary","data-test":"vs-stretched-link",disabled:n.disabled,tabindex:(n.videoId||n.disabled)&&!n.businessSupport?"-1":"0"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"stretched-card-header")]),_:3},8,["href","type","class","variant","disabled","tabindex"]))]),_:3},8,["level","heading-style"])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_4$A,[vue.renderSlot(e.$slots,"stretched-card-content")]),e.$slots["stretched-card-badges"]&&e.$slots["stretched-card-badges"]()?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$r,[vue.renderSlot(e.$slots,"stretched-card-badges")])):vue.createCommentVNode("",!0),e.$slots["stretched-card-link"]&&e.$slots["stretched-card-link"]()?(vue.openBlock(),vue.createBlock(u,{key:3,href:n.link,class:"vs-stretched-link-card__link stretched-link","data-test":"vs-stretched-link-card__link"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"stretched-card-link")]),_:3},8,["href"])):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0)],34)}const VsStretchedLinkCard=LoadingSpinner._export_sfc(_sfc_main$1Y,[["render",_sfc_render$1F]]),_sfc_main$1X={name:"VsStretchedLinkPanels",status:"deprecated",release:"0.0.1",components:{VsIcon:LoadingSpinner.VsIcon},props:{days:{type:String,default:""},transport:{type:String,default:""},daysLabel:{type:String,default:"days"},transportName:{type:String,default:""}}},_hoisted_1$1t={class:"vs-stretched-link-panels"},_hoisted_2$11={class:"vs-stretched-link-panels__panel vs-stretched-link-panels__panel--days","data-test":"vs-stretched-link-panel--days"},_hoisted_3$Q={"data-test":""},_hoisted_4$z={class:"vs-stretched-link-panels__days"},_hoisted_5$q={class:"vs-stretched-link-panels__panel","data-test":"vs-stretched-link-panel"},_hoisted_6$i={"data-test":"vs-stretched-link-panel__icon"};function _sfc_render$1E(e,t,n,a,o,r){const s=vue.resolveComponent("VsIcon");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1t,[vue.createElementVNode("div",_hoisted_2$11,[vue.createElementVNode("p",_hoisted_3$Q,[vue.createElementVNode("span",_hoisted_4$z,vue.toDisplayString(n.days),1),vue.createTextVNode(vue.toDisplayString(n.daysLabel),1)])]),vue.createElementVNode("div",_hoisted_5$q,[vue.createVNode(s,{icon:n.transport,variant:"inverse",size:"sm",class:"vs-stretched-link-panels__icon"},null,8,["icon"]),vue.createElementVNode("p",_hoisted_6$i,vue.toDisplayString(n.transportName),1)])])}const VsStretchedLinkPanels=LoadingSpinner._export_sfc(_sfc_main$1X,[["render",_sfc_render$1E]]),_sfc_main$1W={name:"VsCarouselSlide",status:"deprecated",release:"0.0.1",components:{VsStretchedLinkCard,VsStretchedLinkPanels,VsCol:LoadingSpinner.VsCol},inject:["slideCols","visibleSlides"],props:{imgSrc:{required:!0,type:String},imgAlt:{type:String,default:""},linkType:{type:String,required:!0,validator:e=>e.match(/(default|external|internal|download)/)},linkUrl:{type:String,required:!0},categoryLabel:{type:String,default:null},category:{type:String,default:null},days:{type:String,default:""},daysLabel:{type:String,default:"days"},transport:{type:String,default:""},transportName:{type:String,default:""},slideIndex:{type:String,required:!0}},methods:{isVisible(e){const t=parseInt(e,10);return this.visibleSlides.indexOf(t)>=0}}},_hoisted_1$1s={class:"vs-carousel-slide"},_hoisted_2$10={class:"visually-hidden"},_hoisted_3$P={class:"vs-carousel-slide__title","data-test":"vs-carousel-slide__title"};function _sfc_render$1D(e,t,n,a,o,r){const s=vue.resolveComponent("VsStretchedLinkPanels"),i=vue.resolveComponent("VsStretchedLinkCard"),l=vue.resolveComponent("VsCol");return vue.openBlock(),vue.createBlock(l,{cols:r.slideCols.xs,sm:r.slideCols.sm,lg:r.slideCols.md,xl:r.slideCols.lg,"data-test":"vs-carousel-slide","aria-disabled":!r.isVisible(n.slideIndex)},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$1s,[vue.createVNode(i,{link:n.linkUrl,type:n.linkType,"img-src":n.imgSrc,"img-alt":n.imgAlt,class:vue.normalizeClass([r.isVisible(n.slideIndex)?"vs-carousel-slide__card--active":"vs-carousel-slide__card--disabled","vs-carousel-slide__card"]),disabled:!r.isVisible(n.slideIndex),"data-test":"vs-carousel-card"},vue.createSlots({"stretched-card-category":vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_2$10,vue.toDisplayString(n.categoryLabel)+": ",1),vue.createTextVNode(vue.toDisplayString(n.category),1)]),"stretched-card-header":vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_3$P,[vue.renderSlot(e.$slots,"vs-carousel-slide-heading")])]),_:2},[n.days&&n.transport?{name:"stretched-card-panels",fn:vue.withCtx(()=>[vue.createVNode(s,{days:n.days,transport:n.transport,"transport-name":n.transportName,"days-label":n.daysLabel},null,8,["days","transport","transport-name","days-label"])]),key:"0"}:void 0]),1032,["link","type","img-src","img-alt","class","disabled"])])]),_:3},8,["cols","sm","lg","xl","aria-disabled"])}const CarouselSlide=LoadingSpinner._export_sfc(_sfc_main$1W,[["render",_sfc_render$1D]]);function classesToTokens(e=""){return e.trim().split(" ").filter(t=>!!t.trim())}function deleteProps(e){Object.keys(e).forEach(t=>{try{e[t]=null}catch{}try{delete e[t]}catch{}})}function nextTick(e,t=0){return setTimeout(e,t)}function now(){return Date.now()}function getComputedStyle$1(e){return window.getComputedStyle(e,null)}function getTranslate(e,t="x"){const n=getComputedStyle$1(e),a=n.transform||n.webkitTransform;if(!a||a==="none")return 0;const o=new DOMMatrixReadOnly(a);return t==="x"?o.m41:o.m42}function isObject$2(e){return typeof e=="object"&&e!==null&&e.constructor===Object&&Object.prototype.toString.call(e).slice(8,-1)==="Object"}function isNode(e){return typeof HTMLElement<"u"&&e instanceof HTMLElement?!0:!!e&&typeof e=="object"&&(e.nodeType===1||e.nodeType===11)}function extend$1(e,...t){const n=Object(e);for(let a=0;a<t.length;a+=1){const o=t[a];if(o==null||isNode(o))continue;const r=o,s=Object.keys(Object(r)).filter(i=>i!=="__proto__"&&i!=="constructor"&&i!=="prototype");for(const i of s){const l=Object.getOwnPropertyDescriptor(r,i);if(!l||!l.enumerable)continue;const u=r[i];isObject$2(n[i])&&isObject$2(u)?u.__swiper__?n[i]=u:extend$1(n[i],u):!isObject$2(n[i])&&isObject$2(u)?(n[i]={},u.__swiper__?n[i]=u:extend$1(n[i],u)):n[i]=u}}return n}function setCSSProperty(e,t,n){e.style.setProperty(t,n)}function elementChildren(e,t=""){const n=[...e.children];return e instanceof HTMLSlotElement&&n.push(...e.assignedElements()),t?n.filter(a=>a.matches(t)):n}function elementIsChildOfSlot(e,t){const n=[t];for(;n.length>0;){const a=n.shift();if(e===a)return!0;n.push(...a.children,...a.shadowRoot?a.shadowRoot.children:[],...a.assignedElements?a.assignedElements():[])}return!1}function elementIsChildOf(e,t){let n=t.contains(e);return!n&&t instanceof HTMLSlotElement&&(n=[...t.assignedElements()].includes(e),n||(n=elementIsChildOfSlot(e,t))),n}function showWarning(e){try{console.warn(e)}catch{}}function createElement(e,t=[]){const n=document.createElement(e);return n.classList.add(...Array.isArray(t)?t:classesToTokens(t)),n}function elementOffset(e){const t=e.getBoundingClientRect();return{top:t.top+window.scrollY-(e.clientTop||0),left:t.left+window.scrollX-(e.clientLeft||0)}}function elementPrevAll(e,t){const n=[];let a=e.previousElementSibling;for(;a;)(!t||a.matches(t))&&n.push(a),a=a.previousElementSibling;return n}function elementNextAll(e,t){const n=[];let a=e.nextElementSibling;for(;a;)(!t||a.matches(t))&&n.push(a),a=a.nextElementSibling;return n}function elementStyle(e,t){return window.getComputedStyle(e,null).getPropertyValue(t)}function elementIndex(e){if(!(!e||!e.parentNode))return[...e.parentNode.children].indexOf(e)}function elementParents(e,t){const n=[];let a=e.parentElement;for(;a;)n.push(a),a=a.parentElement;return n}function elementOuterSize(e,t,n){{const a=window.getComputedStyle(e,null);return e[t==="width"?"offsetWidth":"offsetHeight"]+parseFloat(a.getPropertyValue(t==="width"?"margin-right":"margin-top"))+parseFloat(a.getPropertyValue(t==="width"?"margin-left":"margin-bottom"))}}function makeElementsArray(e){return(Array.isArray(e)?e:[e]).filter(t=>!!t)}function setInnerHTML(e,t=""){const n=globalThis.trustedTypes;typeof n<"u"?e.innerHTML=n.createPolicy("html",{createHTML:a=>a}).createHTML(t):e.innerHTML=t}const paramsList=["eventsPrefix","injectStyles","injectStylesUrls","modules","init","_direction","oneWayMovement","swiperElementNodeName","touchEventsTarget","initialSlide","_speed","cssMode","updateOnWindowResize","resizeObserver","nested","focusableElements","_enabled","_width","_height","preventInteractionOnTransition","userAgent","url","_edgeSwipeDetection","_edgeSwipeThreshold","_freeMode","_autoHeight","setWrapperSize","virtualTranslate","_effect","breakpoints","breakpointsBase","_spaceBetween","_slidesPerView","maxBackfaceHiddenSlides","_grid","_slidesPerGroup","_slidesPerGroupSkip","_slidesPerGroupAuto","_centeredSlides","_centeredSlidesBounds","_slidesOffsetBefore","_slidesOffsetAfter","normalizeSlideIndex","_centerInsufficientSlides","_snapToSlideEdge","_watchOverflow","roundLengths","touchRatio","touchAngle","simulateTouch","_shortSwipes","_longSwipes","longSwipesRatio","longSwipesMs","_followFinger","allowTouchMove","_threshold","touchMoveStopPropagation","touchStartPreventDefault","touchStartForcePreventDefault","touchReleaseOnEdges","uniqueNavElements","_resistance","_resistanceRatio","_watchSlidesProgress","_grabCursor","preventClicks","preventClicksPropagation","_slideToClickedSlide","_loop","loopAdditionalSlides","loopAddBlankSlides","loopPreventsSliding","_rewind","_allowSlidePrev","_allowSlideNext","_swipeHandler","_noSwiping","noSwipingClass","noSwipingSelector","passiveListeners","containerModifierClass","slideClass","slideActiveClass","slideVisibleClass","slideFullyVisibleClass","slideNextClass","slidePrevClass","slideBlankClass","wrapperClass","lazyPreloaderClass","lazyPreloadPrevNext","runCallbacksOnInit","observer","observeParents","observeSlideChildren","a11y","_autoplay","_controller","coverflowEffect","cubeEffect","fadeEffect","flipEffect","creativeEffect","cardsEffect","hashNavigation","history","keyboard","mousewheel","_navigation","_pagination","parallax","_scrollbar","_thumbs","virtual","zoom","control"];function isObject$1(e){if(typeof e!="object"||e===null)return!1;const t=e;return!!t.constructor&&Object.prototype.toString.call(t).slice(8,-1)==="Object"&&!t.__swiper__}function extend(e,t){const n=["__proto__","constructor","prototype"],a=e,o=t;return Object.keys(o).filter(r=>n.indexOf(r)<0).forEach(r=>{const s=o[r],i=a[r];typeof i>"u"?a[r]=s:isObject$1(s)&&isObject$1(i)&&Object.keys(s).length>0?s.__swiper__?a[r]=s:extend(i,s):a[r]=s}),e}function needsNavigation(e={}){const t=e.navigation;return t?t===!0?!0:typeof t.nextEl>"u"&&typeof t.prevEl>"u":!1}function needsPagination(e={}){const t=e.pagination;return t?t===!0?!0:typeof t.el>"u":!1}function needsScrollbar(e={}){const t=e.scrollbar;return t?t===!0?!0:typeof t.el>"u":!1}function uniqueClasses(e=""){const t=e.split(" ").map(a=>a.trim()).filter(a=>!!a),n=[];return t.forEach(a=>{n.indexOf(a)<0&&n.push(a)}),n.join(" ")}function wrapperClass(e=""){return e?e.includes("swiper-wrapper")?e:`swiper-wrapper ${e}`:"swiper-wrapper"}function updateSwiper(e){let{nextEl:t,prevEl:n,scrollbarEl:a,paginationEl:o}=e;const{swiper:r,slides:s,passedParams:i,changedParams:l}=e,u=l.filter(k=>k!=="children"&&k!=="direction"&&k!=="wrapperClass"),{params:c,pagination:d,navigation:v,scrollbar:f,virtual:p,thumbs:m}=r,_=i,h=c;let g,b,C,L,I,T,$,M;const A=_.thumbs,E=h.thumbs;l.includes("thumbs")&&isObject$1(A)&&A.swiper&&!A.swiper.destroyed&&isObject$1(E)&&(!E.swiper||E.swiper.destroyed)&&(g=!0);const D=_.controller,S=h.controller;l.includes("controller")&&isObject$1(D)&&D.control&&isObject$1(S)&&!S.control&&(b=!0);const B=_.pagination;l.includes("pagination")&&isObject$1(B)&&(B.el||o)&&(h.pagination||h.pagination===!1)&&d&&!d.el&&(C=!0);const O=_.scrollbar;l.includes("scrollbar")&&isObject$1(O)&&(O.el||a)&&(h.scrollbar||h.scrollbar===!1)&&f&&!f.el&&(L=!0);const w=_.navigation;l.includes("navigation")&&isObject$1(w)&&(w.prevEl||n)&&(w.nextEl||t)&&(h.navigation||h.navigation===!1)&&v&&!v.prevEl&&!v.nextEl&&(I=!0);const V=k=>{const N=r[k];if(!N)return;N.destroy();const P=h[k],F=isObject$1(P)?P:void 0;k==="navigation"?(r.isElement&&(N.prevEl?.remove(),N.nextEl?.remove()),F&&(F.prevEl=void 0,F.nextEl=void 0),N.prevEl=void 0,N.nextEl=void 0):(r.isElement&&N.el?.remove(),F&&(F.el=void 0),N.el=void 0)};if(l.includes("loop")&&r.isElement&&(c.loop&&!i.loop?T=!0:!c.loop&&i.loop?$=!0:M=!0),u.forEach(k=>{const N=h[k],P=_[k];isObject$1(N)&&isObject$1(P)?(Object.assign(N,P),(k==="navigation"||k==="pagination"||k==="scrollbar")&&"enabled"in P&&!P.enabled&&V(k)):(P===!0||P===!1)&&(k==="navigation"||k==="pagination"||k==="scrollbar")?P===!1&&V(k):h[k]=P}),u.includes("controller")&&!b&&r.controller&&r.controller.control&&isObject$1(S)&&S.control&&(r.controller.control=S.control),l.includes("children")&&s&&p&&c.virtual?.enabled?(p.slides=s,p.update(!0)):l.includes("virtual")&&p&&c.virtual?.enabled&&(s&&(p.slides=s),p.update(!0)),l.includes("children")&&s&&c.loop&&(M=!0),g&&m&&m.init()&&m.update(!0),b&&r.controller&&isObject$1(S)&&(r.controller.control=S.control),C&&d){if(r.isElement&&(!o||typeof o=="string")){const N=document.createElement("div");N.classList.add("swiper-pagination"),N.part.add("pagination"),r.el.appendChild(N),o=N}const k=h.pagination;o&&isObject$1(k)&&(k.el=o),d.init(),d.render(),d.update()}if(L&&f){if(r.isElement&&(!a||typeof a=="string")){const N=document.createElement("div");N.classList.add("swiper-scrollbar"),N.part.add("scrollbar"),r.el.appendChild(N),a=N}const k=h.scrollbar;a&&isObject$1(k)&&(k.el=a),f.init(),f.updateSize(),f.setTranslate()}if(I&&v){if(r.isElement){if(!t||typeof t=="string"){const N=document.createElement("div");N.classList.add("swiper-button-next"),setInnerHTML(N,v.arrowSvg),N.part.add("button-next"),r.el.appendChild(N),t=N}if(!n||typeof n=="string"){const N=document.createElement("div");N.classList.add("swiper-button-prev"),setInnerHTML(N,v.arrowSvg),N.part.add("button-prev"),r.el.appendChild(N),n=N}}const k=h.navigation;t&&isObject$1(k)&&(k.nextEl=t),n&&isObject$1(k)&&(k.prevEl=n),v.init(),v.update()}l.includes("allowSlideNext")&&(r.allowSlideNext=_.allowSlideNext),l.includes("allowSlidePrev")&&(r.allowSlidePrev=_.allowSlidePrev),l.includes("direction")&&r.changeDirection(_.direction,!1),(T||M)&&r.loopDestroy(),($||M)&&r.loopCreate(),r.update()}let supportCached;function calcSupport(){return typeof window>"u"?{touch:!1}:{touch:"ontouchstart"in window||navigator.maxTouchPoints>0}}function getSupport(){return supportCached||(supportCached=calcSupport()),supportCached}let deviceCached;function calcDevice({userAgent:e}={}){if(typeof window>"u")return{ios:!1,android:!1};const t=getSupport(),n=navigator.platform,a=e||navigator.userAgent,o={ios:!1,android:!1},r=/(Android);?[\s/]+([\d.]+)?/.test(a),s=/(iPhone\sOS|iOS|iPod)/.test(a),i=/iPad/.test(a),l=n==="MacIntel"&&t.touch&&navigator.maxTouchPoints>1,u=i||l;return r&&!(n==="Win32")&&(o.os="android",o.android=!0),(u||s)&&(o.os="ios",o.ios=!0),o}function getDevice(e={}){return deviceCached||(deviceCached=calcDevice(e)),deviceCached}let browserCached;function calcBrowser(){if(typeof window>"u")return{isSafari:!1,isWebView:!1,need3dFix:!1};const e=getDevice(),t=navigator.userAgent,n=t.toLowerCase(),a=n.includes("safari")&&!n.includes("chrome")&&!n.includes("android"),o=/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(t),r=a||o&&e.ios;return{isSafari:a,isWebView:o,need3dFix:r}}function getBrowser(){return browserCached||(browserCached=calcBrowser()),browserCached}const processLazyPreloader=(e,t)=>{if(!e||e.destroyed||!e.params)return;const n=()=>e.isElement?"swiper-slide":`.${e.params.slideClass}`,a=t.closest(n());if(a){let o=a.querySelector(`.${e.params.lazyPreloaderClass}`);!o&&e.isElement&&(a.shadowRoot?o=a.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`):requestAnimationFrame(()=>{if(a.shadowRoot){const r=a.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`);r&&!r.lazyPreloaderManaged&&r.remove()}})),o&&!o.lazyPreloaderManaged&&o.remove()}},unlazy=(e,t)=>{if(!e.slides[t])return;const n=e.slides[t].querySelector('[loading="lazy"]');n&&n.removeAttribute("loading")},preload=e=>{if(!e||e.destroyed||!e.params)return;let t=e.params.lazyPreloadPrevNext;const n=e.slides.length;if(!n||!t||t<0)return;t=Math.min(t,n);const a=e.params.slidesPerView==="auto"?e.slidesPerViewDynamic():Math.ceil(e.params.slidesPerView),o=e.activeIndex;if(e.params.grid&&(e.params.grid.rows??1)>1){const s=o,i=[s-t];i.push(...Array.from({length:t}).map((l,u)=>s+a+u)),e.slides.forEach((l,u)=>{l.column!==void 0&&i.includes(l.column)&&unlazy(e,u)});return}const r=o+a-1;if(e.params.rewind||e.params.loop)for(let s=o-t;s<=r+t;s+=1){const i=(s%n+n)%n;(i<o||i>r)&&unlazy(e,i)}else for(let s=Math.max(o-t,0);s<=Math.min(r+t,n-1);s+=1)s!==o&&(s>r||s<o)&&unlazy(e,s)};function getBreakpoint(e,t="window",n){if(!e||t==="container"&&!n)return;let a=!1;const o=t==="window"?window.innerHeight:n.clientHeight,r=Object.keys(e).map(s=>{if(typeof s=="string"&&s.indexOf("@")===0){const i=parseFloat(s.substr(1));return{value:o*i,point:s}}return{value:s,point:s}});r.sort((s,i)=>parseInt(String(s.value),10)-parseInt(String(i.value),10));for(let s=0;s<r.length;s+=1){const{point:i,value:l}=r[s];t==="window"?window.matchMedia(`(min-width: ${l}px)`).matches&&(a=i):l<=n.clientWidth&&(a=i)}return a||"max"}const isGridEnabled=(e,t)=>!!(e.grid&&t.grid&&t.grid.rows>1);function setBreakpoint(){const e=this,{realIndex:t,initialized:n,params:a,el:o}=e,r=a.breakpoints;if(!r||r&&Object.keys(r).length===0)return;const s=a.breakpointsBase==="window"||!a.breakpointsBase?a.breakpointsBase:"container",i=["window","container"].includes(a.breakpointsBase)||!a.breakpointsBase?e.el:document.querySelector(a.breakpointsBase),l=e.getBreakpoint(r,s,i);if(!l||e.currentBreakpoint===l)return;const u=r,d=(l in u?u[l]:void 0)||e.originalParams,v=isGridEnabled(e,a),f=isGridEnabled(e,d),p=e.params.grabCursor,m=d.grabCursor,_=a.enabled;v&&!f?(o.classList.remove(`${a.containerModifierClass}grid`,`${a.containerModifierClass}grid-column`),e.emitContainerClasses()):!v&&f&&(o.classList.add(`${a.containerModifierClass}grid`),(d.grid.fill&&d.grid.fill==="column"||!d.grid.fill&&a.grid.fill==="column")&&o.classList.add(`${a.containerModifierClass}grid-column`),e.emitContainerClasses()),p&&!m?e.unsetGrabCursor():!p&&m&&e.setGrabCursor();const h=(T,$)=>T[$];["navigation","pagination","scrollbar"].forEach(T=>{const $=h(d,T);if(typeof $>"u")return;const M=h(a,T),A=typeof M=="object"&&M!==null&&M.enabled,E=typeof $=="object"&&$!==null&&$.enabled,D=e[T];A&&!E&&D?.disable?.(),!A&&E&&D?.enable?.()});const g=d.direction&&d.direction!==a.direction,b=a.loop&&(d.slidesPerView!==a.slidesPerView||g),C=a.loop;g&&n&&e.changeDirection(),extend$1(e.params,d);const L=e.params.enabled,I=e.params.loop;Object.assign(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),_&&!L?e.disable():!_&&L&&e.enable(),e.currentBreakpoint=l,e.emit("_beforeBreakpoint",d),n&&(b?(e.loopDestroy(),e.loopCreate(t),e.updateSlides()):!C&&I?(e.loopCreate(t),e.updateSlides()):C&&!I&&e.loopDestroy()),e.emit("breakpoint",d)}var breakpoints={setBreakpoint,getBreakpoint};function checkOverflow(){const e=this,{isLocked:t,params:n}=e,{slidesOffsetBefore:a}=n;if(a){const o=e.slides.length-1,r=e.slidesGrid[o]+e.slidesSizesGrid[o]+a*2;e.isLocked=e.size>r}else e.isLocked=e.snapGrid.length===1;n.allowSlideNext===!0&&(e.allowSlideNext=!e.isLocked),n.allowSlidePrev===!0&&(e.allowSlidePrev=!e.isLocked),t&&t!==e.isLocked&&(e.isEnd=!1),t!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock")}var checkOverflow$1={checkOverflow};function prepareClasses(e,t){const n=[];return e.forEach(a=>{typeof a=="object"?Object.keys(a).forEach(o=>{a[o]&&n.push(t+o)}):typeof a=="string"&&n.push(t+a)}),n}function addClasses(){const e=this,{classNames:t,params:n,rtl:a,el:o,device:r}=e,s=prepareClasses(["initialized",n.direction,{"free-mode":e.params.freeMode&&n.freeMode.enabled},{autoheight:n.autoHeight},{rtl:a},{grid:n.grid&&n.grid.rows>1},{"grid-column":n.grid&&n.grid.rows>1&&n.grid.fill==="column"},{android:r.android},{ios:r.ios},{"css-mode":n.cssMode},{centered:n.cssMode&&n.centeredSlides},{"watch-progress":n.watchSlidesProgress}],n.containerModifierClass);t.push(...s),o.classList.add(...t),e.emitContainerClasses()}function removeClasses(){const e=this,{el:t,classNames:n}=e;!t||typeof t=="string"||(t.classList.remove(...n),e.emitContainerClasses())}var classes={addClasses,removeClasses};const defaults={init:!0,direction:"horizontal",oneWayMovement:!1,swiperElementNodeName:"SWIPER-CONTAINER",touchEventsTarget:"wrapper",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!0,nested:!1,createElements:!1,eventsPrefix:"swiper",enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:!1,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,snapToSlideEdge:!1,watchOverflow:!0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:5,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,loop:!1,loopAddBlankSlides:!0,loopAdditionalSlides:0,loopPreventsSliding:!0,rewind:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,maxBackfaceHiddenSlides:10,containerModifierClass:"swiper-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-blank",slideActiveClass:"swiper-slide-active",slideVisibleClass:"swiper-slide-visible",slideFullyVisibleClass:"swiper-slide-fully-visible",slideNextClass:"swiper-slide-next",slidePrevClass:"swiper-slide-prev",wrapperClass:"swiper-wrapper",lazyPreloaderClass:"swiper-lazy-preloader",lazyPreloadPrevNext:0,runCallbacksOnInit:!0,_emitClasses:!1};var eventsEmitter={on(e,t,n){const a=this;if(!a.eventsListeners||a.destroyed||typeof t!="function")return a;const o=n?"unshift":"push";return e.split(" ").forEach(r=>{a.eventsListeners[r]||(a.eventsListeners[r]=[]),a.eventsListeners[r][o](t)}),a},once(e,t,n){const a=this;if(!a.eventsListeners||a.destroyed||typeof t!="function")return a;const o=function(...s){a.off(e,o),o.__emitterProxy&&delete o.__emitterProxy,t.apply(a,s)};return o.__emitterProxy=t,a.on(e,o,n)},onAny(e,t){const n=this;if(!n.eventsListeners||n.destroyed||typeof e!="function")return n;const a=t?"unshift":"push";return n.eventsAnyListeners.indexOf(e)<0&&n.eventsAnyListeners[a](e),n},offAny(e){const t=this;if(!t.eventsListeners||t.destroyed||!t.eventsAnyListeners)return t;const n=t.eventsAnyListeners.indexOf(e);return n>=0&&t.eventsAnyListeners.splice(n,1),t},off(e,t){const n=this;return!n.eventsListeners||n.destroyed||!n.eventsListeners||e.split(" ").forEach(a=>{typeof t>"u"?n.eventsListeners[a]=[]:n.eventsListeners[a]&&n.eventsListeners[a].forEach((o,r)=>{(o===t||o.__emitterProxy&&o.__emitterProxy===t)&&n.eventsListeners[a].splice(r,1)})}),n},emit(...e){const t=this;if(!t.eventsListeners||t.destroyed||!t.eventsListeners)return t;let n,a,o;if(typeof e[0]=="string"||Array.isArray(e[0]))n=e[0],a=e.slice(1,e.length),o=t;else{const s=e[0];n=s.events,a=s.data??[],o=s.context||t}return a.unshift(o),(Array.isArray(n)?n:n.split(" ")).forEach(s=>{t.eventsAnyListeners&&t.eventsAnyListeners.length&&t.eventsAnyListeners.forEach(i=>{i.apply(o,[s,...a])}),t.eventsListeners&&t.eventsListeners[s]&&t.eventsListeners[s].forEach(i=>{i.apply(o,a)})}),t}};function onClick(e){const t=this;t.destroyed||t.enabled&&(t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function onDocumentTouchStart(){const e=this;e.destroyed||e.documentTouchHandlerProceeded||(e.documentTouchHandlerProceeded=!0,e.params.touchReleaseOnEdges&&(e.el.style.touchAction="auto"))}function onLoad(e){const t=this;t.destroyed||(processLazyPreloader(t,e.target),!(t.params.cssMode||t.params.slidesPerView!=="auto"&&!t.params.autoHeight)&&t.update())}function onResize(){const e=this,{params:t,el:n}=e;if(n&&n.offsetWidth===0)return;t.breakpoints&&e.setBreakpoint();const{allowSlideNext:a,allowSlidePrev:o,snapGrid:r}=e,s=e.virtual&&e.params.virtual?.enabled;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses();const i=s&&t.loop;if((t.slidesPerView==="auto"||t.slidesPerView>1)&&e.isEnd&&!e.isBeginning&&!e.params.centeredSlides&&!i){const l=s?e.virtual.slides.length:e.slides.length;e.slideTo(l-1,0,!1,!0)}else e.params.loop&&!s?e.slideToLoop(e.realIndex,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0);if(e.autoplay&&e.autoplay.running&&e.autoplay.paused){const l=e.autoplay;clearTimeout(l.resizeTimeout),l.resizeTimeout=setTimeout(()=>{e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.resume()},500)}e.allowSlidePrev=o,e.allowSlideNext=a,e.params.watchOverflow&&r!==e.snapGrid&&e.checkOverflow()}function onScroll(){const e=this;if(e.destroyed)return;const{wrapperEl:t,rtlTranslate:n,enabled:a}=e;if(!a)return;e.previousTranslate=e.translate,e.isHorizontal()?e.translate=-t.scrollLeft:e.translate=-t.scrollTop,e.translate===0&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();let o;const r=e.maxTranslate()-e.minTranslate();r===0?o=0:o=(e.translate-e.minTranslate())/r,o!==e.progress&&e.updateProgress(n?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}function onTouchEnd(e){const t=this;if(t.destroyed)return;const n=t.touchEventsData;let a=e.originalEvent??e;if(a.type==="touchend"||a.type==="touchcancel"){const L=[...a.changedTouches].find(I=>I.identifier===n.touchId);if(!L||L.identifier!==n.touchId)return}else if(n.touchId!==null||a.pointerId!==n.pointerId)return;if(["pointercancel","pointerout","pointerleave","contextmenu"].includes(a.type)&&!(["pointercancel","contextmenu"].includes(a.type)&&(t.browser.isSafari||t.browser.isWebView)))return;n.pointerId=null,n.touchId=null;const{params:r,touches:s,rtlTranslate:i,slidesGrid:l,enabled:u}=t;if(!u||!r.simulateTouch&&a.pointerType==="mouse")return;if(n.allowTouchCallbacks&&t.emit("touchEnd",a),n.allowTouchCallbacks=!1,!n.isTouched){n.isMoved&&r.grabCursor&&t.setGrabCursor(!1),n.isMoved=!1,n.startMoving=!1;return}r.grabCursor&&n.isMoved&&n.isTouched&&(t.allowSlideNext===!0||t.allowSlidePrev===!0)&&t.setGrabCursor(!1);const c=now(),d=c-n.touchStartTime;if(t.allowClick){const C=a.path??(a.composedPath&&a.composedPath());t.updateClickedSlide(C&&C[0],C),t.emit("tap click",a),d<300&&c-n.lastClickTime<300&&t.emit("doubleTap doubleClick",a)}if(n.lastClickTime=now(),nextTick(()=>{t.destroyed||(t.allowClick=!0)}),!n.isTouched||!n.isMoved||!t.swipeDirection||s.diff===0&&!n.loopSwapReset||n.currentTranslate===n.startTranslate&&!n.loopSwapReset){n.isTouched=!1,n.isMoved=!1,n.startMoving=!1;return}n.isTouched=!1,n.isMoved=!1,n.startMoving=!1;let v;if(r.followFinger?v=i?t.translate:-t.translate:v=-(n.currentTranslate??0),r.cssMode)return;if(r.freeMode&&r.freeMode.enabled){t.freeMode.onTouchEnd({currentPos:v});return}const f=v>=-t.maxTranslate()&&!t.params.loop;let p=0,m=t.slidesSizesGrid[0];for(let C=0;C<l.length;C+=C<r.slidesPerGroupSkip?1:r.slidesPerGroup){const L=C<r.slidesPerGroupSkip-1?1:r.slidesPerGroup;typeof l[C+L]<"u"?(f||v>=l[C]&&v<l[C+L])&&(p=C,m=l[C+L]-l[C]):(f||v>=l[C])&&(p=C,m=l[l.length-1]-l[l.length-2])}let _=null,h=null;r.rewind&&(t.isBeginning?h=r.virtual?.enabled&&t.virtual?t.virtual.slides.length-1:t.slides.length-1:t.isEnd&&(_=0));const g=(v-l[p])/m,b=p<r.slidesPerGroupSkip-1?1:r.slidesPerGroup;if(d>r.longSwipesMs){if(!r.longSwipes){t.slideTo(t.activeIndex);return}t.swipeDirection==="next"&&(g>=r.longSwipesRatio?t.slideTo(r.rewind&&t.isEnd?_:p+b):t.slideTo(p)),t.swipeDirection==="prev"&&(g>1-r.longSwipesRatio?t.slideTo(p+b):h!==null&&g<0&&Math.abs(g)>r.longSwipesRatio?t.slideTo(h):t.slideTo(p))}else{if(!r.shortSwipes){t.slideTo(t.activeIndex);return}t.navigation&&(a.target===t.navigation.nextEl||a.target===t.navigation.prevEl)?a.target===t.navigation.nextEl?t.slideTo(p+b):t.slideTo(p):(t.swipeDirection==="next"&&t.slideTo(_!==null?_:p+b),t.swipeDirection==="prev"&&t.slideTo(h!==null?h:p))}}function onTouchMove(e){const t=this;if(t.destroyed)return;const n=t.touchEventsData,{params:a,touches:o,rtlTranslate:r,enabled:s}=t;if(!s||!a.simulateTouch&&e.pointerType==="mouse")return;const i=e,l=i.originalEvent??i;if(l.type==="pointermove"&&(n.touchId!==null||l.pointerId!==n.pointerId))return;let u;if(l.type==="touchmove"){const T=[...l.changedTouches].find($=>$.identifier===n.touchId);if(!T||T.identifier!==n.touchId)return;u=T}else u=l;if(!n.isTouched){n.startMoving&&n.isScrolling&&t.emit("touchMoveOpposite",l);return}const c=u.pageX,d=u.pageY;if(l.preventedByNestedSwiper){o.startX=c,o.startY=d;return}if(!t.allowTouchMove){l.target.matches(n.focusableElements)||(t.allowClick=!1),n.isTouched&&(Object.assign(o,{startX:c,startY:d,currentX:c,currentY:d}),n.touchStartTime=now());return}if(a.touchReleaseOnEdges&&!a.loop)if(t.isVertical()){if(d<o.startY&&t.translate<=t.maxTranslate()||d>o.startY&&t.translate>=t.minTranslate()){n.isTouched=!1,n.isMoved=!1;return}}else{if(r&&(c>o.startX&&-t.translate<=t.maxTranslate()||c<o.startX&&-t.translate>=t.minTranslate()))return;if(!r&&(c<o.startX&&t.translate<=t.maxTranslate()||c>o.startX&&t.translate>=t.minTranslate()))return}if(document.activeElement&&document.activeElement.matches(n.focusableElements)&&document.activeElement!==l.target&&l.pointerType!=="mouse"&&document.activeElement.blur(),document.activeElement&&l.target===document.activeElement&&l.target.matches(n.focusableElements)){n.isMoved=!0,t.allowClick=!1;return}n.allowTouchCallbacks&&t.emit("touchMove",l),o.previousX=o.currentX,o.previousY=o.currentY,o.currentX=c,o.currentY=d;const v=o.currentX-o.startX,f=o.currentY-o.startY;if(t.params.threshold&&Math.sqrt(v**2+f**2)<t.params.threshold)return;if(typeof n.isScrolling>"u"){let I;t.isHorizontal()&&o.currentY===o.startY||t.isVertical()&&o.currentX===o.startX?n.isScrolling=!1:v*v+f*f>=25&&(I=Math.atan2(Math.abs(f),Math.abs(v))*180/Math.PI,n.isScrolling=t.isHorizontal()?I>a.touchAngle:90-I>a.touchAngle)}if(n.isScrolling&&t.emit("touchMoveOpposite",l),typeof n.startMoving>"u"&&(o.currentX!==o.startX||o.currentY!==o.startY)&&(n.startMoving=!0),n.isScrolling||l.type==="touchmove"&&n.preventTouchMoveFromPointerMove){n.isTouched=!1;return}if(!n.startMoving)return;t.allowClick=!1,!a.cssMode&&l.cancelable&&l.preventDefault(),a.touchMoveStopPropagation&&!a.nested&&l.stopPropagation();let p=t.isHorizontal()?v:f,m=t.isHorizontal()?o.currentX-o.previousX:o.currentY-o.previousY;a.oneWayMovement&&(p=Math.abs(p)*(r?1:-1),m=Math.abs(m)*(r?1:-1)),o.diff=p,p*=a.touchRatio,r&&(p=-p,m=-m);const _=t.touchesDirection;t.swipeDirection=p>0?"prev":"next",t.touchesDirection=m>0?"prev":"next";const h=t.params.loop&&!a.cssMode,g=t.touchesDirection==="next"&&t.allowSlideNext||t.touchesDirection==="prev"&&t.allowSlidePrev;if(!n.isMoved){if(h&&g&&t.loopFix({direction:t.swipeDirection}),n.startTranslate=t.getTranslate(),t.setTransition(0),t.animating){const I=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0,detail:{bySwiperTouchMove:!0}});t.wrapperEl.dispatchEvent(I)}n.allowMomentumBounce=!1,a.grabCursor&&(t.allowSlideNext===!0||t.allowSlidePrev===!0)&&t.setGrabCursor(!0),t.emit("sliderFirstMove",l)}if(new Date().getTime(),a._loopSwapReset!==!1&&n.isMoved&&n.allowThresholdMove&&_!==t.touchesDirection&&h&&g&&Math.abs(p)>=1){Object.assign(o,{startX:c,startY:d,currentX:c,currentY:d,startTranslate:n.currentTranslate}),n.loopSwapReset=!0,n.startTranslate=n.currentTranslate;return}t.emit("sliderMove",l),n.isMoved=!0;const b=n.startTranslate??0;n.currentTranslate=p+b;let C=!0,L=a.resistanceRatio;if(a.touchReleaseOnEdges&&(L=0),p>0?(h&&g&&n.allowThresholdMove&&n.currentTranslate>(a.centeredSlides?t.minTranslate()-t.slidesSizesGrid[t.activeIndex+1]-(a.slidesPerView!=="auto"&&t.slides.length-a.slidesPerView>=2?t.slidesSizesGrid[t.activeIndex+1]+t.params.spaceBetween:0)-t.params.spaceBetween:t.minTranslate())&&t.loopFix({direction:"prev",setTranslate:!0,activeSlideIndex:0}),n.currentTranslate>t.minTranslate()&&(C=!1,a.resistance&&(n.currentTranslate=t.minTranslate()-1+(-t.minTranslate()+b+p)**L))):p<0&&(h&&g&&n.allowThresholdMove&&n.currentTranslate<(a.centeredSlides?t.maxTranslate()+t.slidesSizesGrid[t.slidesSizesGrid.length-1]+t.params.spaceBetween+(a.slidesPerView!=="auto"&&t.slides.length-a.slidesPerView>=2?t.slidesSizesGrid[t.slidesSizesGrid.length-1]+t.params.spaceBetween:0):t.maxTranslate())&&t.loopFix({direction:"next",setTranslate:!0,activeSlideIndex:t.slides.length-(a.slidesPerView==="auto"?t.slidesPerViewDynamic():Math.ceil(parseFloat(String(a.slidesPerView))))}),n.currentTranslate<t.maxTranslate()&&(C=!1,a.resistance&&(n.currentTranslate=t.maxTranslate()+1-(t.maxTranslate()-b-p)**L))),C&&(l.preventedByNestedSwiper=!0),!t.allowSlideNext&&t.swipeDirection==="next"&&(n.currentTranslate??0)<b&&(n.currentTranslate=b),!t.allowSlidePrev&&t.swipeDirection==="prev"&&(n.currentTranslate??0)>b&&(n.currentTranslate=b),!t.allowSlidePrev&&!t.allowSlideNext&&(n.currentTranslate=b),a.threshold>0)if(Math.abs(p)>a.threshold||n.allowThresholdMove){if(!n.allowThresholdMove){n.allowThresholdMove=!0,o.startX=o.currentX,o.startY=o.currentY,n.currentTranslate=n.startTranslate,o.diff=t.isHorizontal()?o.currentX-o.startX:o.currentY-o.startY;return}}else{n.currentTranslate=n.startTranslate;return}!a.followFinger||a.cssMode||((a.freeMode&&a.freeMode.enabled&&t.freeMode||a.watchSlidesProgress)&&(t.updateActiveIndex(),t.updateSlidesClasses()),a.freeMode&&a.freeMode.enabled&&t.freeMode&&t.freeMode.onTouchMove(),t.updateProgress(n.currentTranslate),t.setTranslate(n.currentTranslate??0))}function closestElement(e,t){function n(a){if(!a||a===document||a===window)return null;let o=a;o.assignedSlot&&(o=o.assignedSlot);const r=o.closest(e);if(!r&&!o.getRootNode)return null;const s=o.getRootNode();return r||n(s.host)}return n(t)}function preventEdgeSwipe(e,t,n){const{params:a}=e,o=a.edgeSwipeDetection,r=a.edgeSwipeThreshold;return o&&(n<=r||n>=window.innerWidth-r)?o==="prevent"?(t.preventDefault(),!0):!1:!0}function onTouchStart(e){const t=this;if(t.destroyed)return;const n=e.originalEvent??e,a=t.touchEventsData;if(n.type==="pointerdown"){const g=n;if(a.pointerId!==null&&a.pointerId!==g.pointerId)return;a.pointerId=g.pointerId}else n.type==="touchstart"&&n.targetTouches.length===1&&(a.touchId=n.targetTouches[0].identifier);if(n.type==="touchstart"){preventEdgeSwipe(t,n,n.targetTouches[0].pageX);return}const{params:o,touches:r,enabled:s}=t;if(!s||!o.simulateTouch&&n.pointerType==="mouse"||t.animating&&o.preventInteractionOnTransition)return;!t.animating&&o.cssMode&&o.loop&&t.loopFix();let i=n.target;if(o.touchEventsTarget==="wrapper"&&!elementIsChildOf(i,t.wrapperEl))return;const l=n;if(typeof l.which=="number"&&l.which===3||typeof l.button=="number"&&l.button>0||a.isTouched&&a.isMoved)return;const u=!!o.noSwipingClass&&o.noSwipingClass!=="",c=n.composedPath?n.composedPath():n.path;u&&n.target&&n.target.shadowRoot&&c&&(i=c[0]);const d=o.noSwipingSelector?o.noSwipingSelector:`.${o.noSwipingClass}`,v=!!(n.target&&n.target.shadowRoot);if(o.noSwiping&&(v?closestElement(d,i):i.closest(d))){t.allowClick=!0;return}if(o.swipeHandler&&typeof o.swipeHandler=="string"&&!i.closest(o.swipeHandler))return;const f=n;r.currentX=f.pageX,r.currentY=f.pageY;const p=r.currentX,m=r.currentY;if(!preventEdgeSwipe(t,n,p))return;Object.assign(a,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),r.startX=p,r.startY=m,a.touchStartTime=now(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,o.threshold>0&&(a.allowThresholdMove=!1);let _=!0;i.matches(a.focusableElements)&&(_=!1,i.nodeName==="SELECT"&&(a.isTouched=!1)),document.activeElement&&document.activeElement.matches(a.focusableElements)&&document.activeElement!==i&&(f.pointerType==="mouse"||f.pointerType!=="mouse"&&!i.matches(a.focusableElements))&&document.activeElement.blur();const h=_&&t.allowTouchMove&&o.touchStartPreventDefault;(o.touchStartForcePreventDefault||h)&&!i.isContentEditable&&n.preventDefault(),o.freeMode&&o.freeMode.enabled&&t.freeMode&&t.animating&&!o.cssMode&&t.freeMode.onTouchStart(),t.emit("touchStart",n)}const events=(e,t)=>{const{params:n,el:a,wrapperEl:o,device:r}=e,s=!!n.nested,i=t==="on"?"addEventListener":"removeEventListener",l=t;if(!a||typeof a=="string")return;document[i]("touchstart",e.onDocumentTouchStart,{passive:!1,capture:s}),a[i]("touchstart",e.onTouchStart,{passive:!1}),a[i]("pointerdown",e.onTouchStart,{passive:!1}),document[i]("touchmove",e.onTouchMove,{passive:!1,capture:s}),document[i]("pointermove",e.onTouchMove,{passive:!1,capture:s}),document[i]("touchend",e.onTouchEnd,{passive:!0}),document[i]("pointerup",e.onTouchEnd,{passive:!0}),document[i]("pointercancel",e.onTouchEnd,{passive:!0}),document[i]("touchcancel",e.onTouchEnd,{passive:!0}),document[i]("pointerout",e.onTouchEnd,{passive:!0}),document[i]("pointerleave",e.onTouchEnd,{passive:!0}),document[i]("contextmenu",e.onTouchEnd,{passive:!0}),(n.preventClicks||n.preventClicksPropagation)&&a[i]("click",e.onClick,!0),n.cssMode&&o[i]("scroll",e.onScroll);const u=c=>{e[l](c,onResize,!0)};n.updateOnWindowResize?u(r.ios||r.android?"resize orientationchange observerUpdate":"resize observerUpdate"):u("observerUpdate"),a[i]("load",e.onLoad,{capture:!0})};function attachEvents(){const e=this,{params:t}=e;e.onTouchStart=onTouchStart.bind(e),e.onTouchMove=onTouchMove.bind(e),e.onTouchEnd=onTouchEnd.bind(e),e.onDocumentTouchStart=onDocumentTouchStart.bind(e),t.cssMode&&(e.onScroll=onScroll.bind(e)),e.onClick=onClick.bind(e),e.onLoad=onLoad.bind(e),events(e,"on")}function detachEvents(){events(this,"off")}var events$1={attachEvents,detachEvents};function setGrabCursor(e){const t=this;if(!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)return;const n=t.params.touchEventsTarget==="container"?t.el:t.wrapperEl;t.isElement&&(t.__preventObserver__=!0),n.style.cursor="move",n.style.cursor=e?"grabbing":"grab",t.isElement&&requestAnimationFrame(()=>{t.__preventObserver__=!1})}function unsetGrabCursor(){const e=this;e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e.isElement&&(e.__preventObserver__=!0),e[e.params.touchEventsTarget==="container"?"el":"wrapperEl"].style.cursor="",e.isElement&&requestAnimationFrame(()=>{e.__preventObserver__=!1}))}var grabCursor={setGrabCursor,unsetGrabCursor};function loopCreate(e,t){const n=this,{params:a,slidesEl:o}=n;if(!a.loop||n.virtual&&n.params.virtual?.enabled)return;const r=()=>{elementChildren(o,`.${a.slideClass}, swiper-slide`).forEach((p,m)=>{p.setAttribute("data-swiper-slide-index",String(m))})},s=()=>{const f=elementChildren(o,`.${a.slideBlankClass}`);f.forEach(p=>{p.remove()}),f.length>0&&(n.recalcSlides(),n.updateSlides())},i=n.grid&&a.grid&&a.grid.rows>1;a.loopAddBlankSlides&&(a.slidesPerGroup>1||i)&&s();const l=a.slidesPerGroup*(i?a.grid.rows:1),u=n.slides.length%l!==0,c=i&&n.slides.length%a.grid.rows!==0,d=f=>{for(let p=0;p<f;p+=1){const m=n.isElement?createElement("swiper-slide",[a.slideBlankClass]):createElement("div",[a.slideClass,a.slideBlankClass]);n.slidesEl.append(m)}};if(u){if(a.loopAddBlankSlides){const f=l-n.slides.length%l;d(f),n.recalcSlides(),n.updateSlides()}else showWarning("Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)");r()}else if(c){if(a.loopAddBlankSlides){const f=a.grid.rows-n.slides.length%a.grid.rows;d(f),n.recalcSlides(),n.updateSlides()}else showWarning("Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)");r()}else r();const v=a.centeredSlides||!!a.slidesOffsetBefore||!!a.slidesOffsetAfter;n.loopFix({slideRealIndex:e,direction:v?void 0:"next",initial:t})}function loopDestroy(){const e=this,{params:t,slidesEl:n}=e;if(!t.loop||!n||e.virtual&&e.params.virtual?.enabled)return;e.recalcSlides();const a=[];e.slides.forEach(o=>{const r=o,s=typeof r.swiperSlideIndex>"u"?Number(o.getAttribute("data-swiper-slide-index")):r.swiperSlideIndex;a[s]=o}),e.slides.forEach(o=>{o.removeAttribute("data-swiper-slide-index")}),a.forEach(o=>{n.append(o)}),e.recalcSlides(),e.slideTo(e.realIndex,0)}function loopFix(e={}){const{slideRealIndex:t,slideTo:n=!0,direction:a,setTranslate:o,activeSlideIndex:r,initial:s,byController:i,byMousewheel:l}=e;let u=r;const c=this;if(!c.params.loop)return;c.emit("beforeLoopFix");const{slides:d,allowSlidePrev:v,allowSlideNext:f,slidesEl:p,params:m}=c,{centeredSlides:_,slidesOffsetBefore:h,slidesOffsetAfter:g,initialSlide:b}=m,C=_||!!h||!!g;if(c.allowSlidePrev=!0,c.allowSlideNext=!0,c.virtual&&m.virtual?.enabled){if(n){const F=c.virtual.slides.length,R=c.virtual.slidesBefore??0;!C&&c.snapIndex===0?c.slideTo(F,0,!1,!0):C&&c.snapIndex<m.slidesPerView?c.slideTo(F+c.snapIndex,0,!1,!0):c.snapIndex===c.snapGrid.length-1&&c.slideTo(R,0,!1,!0)}c.allowSlidePrev=v,c.allowSlideNext=f,c.emit("loopFix");return}let L=m.slidesPerView;L==="auto"?L=c.slidesPerViewDynamic():(L=Math.ceil(parseFloat(String(m.slidesPerView))),C&&L%2===0&&(L=L+1));const I=m.slidesPerGroupAuto?L:m.slidesPerGroup;let T=C?Math.max(I,Math.ceil(L/2)):I;T%I!==0&&(T+=I-T%I),T+=m.loopAdditionalSlides,c.loopedSlides=T;const $=c.grid&&m.grid&&m.grid.rows>1;d.length<L+T||c.params.effect==="cards"&&d.length<L+T*2?showWarning("Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled or not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters"):$&&m.grid.fill==="row"&&showWarning("Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`");const M=[],A=[],E=$?Math.ceil(d.length/m.grid.rows):d.length,D=s&&E-b<L&&!C;let S=D?b:c.activeIndex;typeof u>"u"?u=c.getSlideIndex(d.find(F=>F.classList.contains(m.slideActiveClass))):S=u;const B=a==="next"||!a,O=a==="prev"||!a;let w=0,V=0;const N=($?d[u].column??0:u)+(C&&typeof o>"u"?-L/2+.5:0);if(N<T){w=Math.max(T-N,I);for(let F=0;F<T-N;F+=1){const R=F-Math.floor(F/E)*E;if($){const H=E-R-1;for(let j=d.length-1;j>=0;j-=1)d[j].column===H&&M.push(j)}else M.push(E-R-1)}}else if(N+L>E-T){V=Math.max(N-(E-T*2),I),D&&(V=Math.max(V,L-E+b+1));for(let F=0;F<V;F+=1){const R=F-Math.floor(F/E)*E;$?d.forEach((H,j)=>{H.column===R&&A.push(j)}):A.push(R)}}if(c.__preventObserver__=!0,requestAnimationFrame(()=>{c.__preventObserver__=!1}),c.params.effect==="cards"&&d.length<L+T*2&&(A.includes(u)&&A.splice(A.indexOf(u),1),M.includes(u)&&M.splice(M.indexOf(u),1)),O&&M.forEach(F=>{const R=d[F];R.swiperLoopMoveDOM=!0,p.prepend(R),R.swiperLoopMoveDOM=!1}),B&&A.forEach(F=>{const R=d[F];R.swiperLoopMoveDOM=!0,p.append(R),R.swiperLoopMoveDOM=!1}),c.recalcSlides(),m.slidesPerView==="auto"?c.updateSlides():$&&(M.length>0&&O||A.length>0&&B)&&c.slides.forEach((F,R)=>{c.grid.updateSlide(R,F,c.slides)}),m.watchSlidesProgress&&c.updateSlidesOffset(),n){if(M.length>0&&O){if(typeof t>"u"){const F=c.slidesGrid[S],H=c.slidesGrid[S+w]-F;l?c.setTranslate(c.translate-H):(c.slideTo(S+Math.ceil(w),0,!1,!0),o&&(c.touchEventsData.startTranslate=c.touchEventsData.startTranslate-H,c.touchEventsData.currentTranslate=c.touchEventsData.currentTranslate-H))}else if(o){const F=$?M.length/m.grid.rows:M.length;c.slideTo(c.activeIndex+F,0,!1,!0),c.touchEventsData.currentTranslate=c.translate}}else if(A.length>0&&B)if(typeof t>"u"){const F=c.slidesGrid[S],H=c.slidesGrid[S-V]-F;l?c.setTranslate(c.translate-H):(c.slideTo(S-V,0,!1,!0),o&&(c.touchEventsData.startTranslate=c.touchEventsData.startTranslate-H,c.touchEventsData.currentTranslate=c.touchEventsData.currentTranslate-H))}else{const F=$?A.length/m.grid.rows:A.length;c.slideTo(c.activeIndex-F,0,!1,!0)}}c.allowSlidePrev=v,c.allowSlideNext=f;const P=c.controller?.control;if(P&&!i){const F={slideRealIndex:t,direction:a,setTranslate:o,activeSlideIndex:u,byController:!0};Array.isArray(P)?P.forEach(R=>{!R.destroyed&&R.params.loop&&R.loopFix({...F,slideTo:R.params.slidesPerView===m.slidesPerView?n:!1})}):P instanceof c.constructor&&P.params.loop&&P.loopFix({...F,slideTo:P.params.slidesPerView===m.slidesPerView?n:!1})}c.emit("loopFix")}var loop={loopCreate,loopFix,loopDestroy};function moduleExtendParams(e,t){return function(a={}){const o=Object.keys(a)[0],r=a[o];if(typeof r!="object"||r===null){extend$1(t,a);return}if(e[o]===!0&&(e[o]={enabled:!0}),o==="navigation"&&e[o]&&e[o].enabled&&!e[o].prevEl&&!e[o].nextEl&&(e[o].auto=!0),["pagination","scrollbar"].indexOf(o)>=0&&e[o]&&e[o].enabled&&!e[o].el&&(e[o].auto=!0),!(o in e&&"enabled"in r)){extend$1(t,a);return}typeof e[o]=="object"&&!("enabled"in e[o])&&(e[o].enabled=!0),e[o]||(e[o]={enabled:!1}),extend$1(t,a)}}const Observer=({swiper:e,extendParams:t,on:n})=>{const a=[],o=(i,l={})=>{const u=window.MutationObserver||window.WebkitMutationObserver;if(!u)return;const c=new u(d=>{if(e.__preventObserver__)return;if(d.length===1){e.emit("observerUpdate",d[0]);return}const v=function(){e.emit("observerUpdate",d[0])};window.requestAnimationFrame?window.requestAnimationFrame(v):window.setTimeout(v,0)});c.observe(i,{attributes:typeof l.attributes>"u"?!0:l.attributes,childList:e.isElement||(typeof l.childList>"u"?!0:l.childList),characterData:typeof l.characterData>"u"?!0:l.characterData}),a.push(c)},r=()=>{if(e.params.observer){if(e.params.observeParents){const i=elementParents(e.hostEl);for(let l=0;l<i.length;l+=1)o(i[l])}o(e.hostEl,{childList:e.params.observeSlideChildren}),o(e.wrapperEl,{attributes:!1})}},s=()=>{a.forEach(i=>{i.disconnect()}),a.splice(0,a.length)};t({observer:!1,observeParents:!1,observeSlideChildren:!1}),n("init",r),n("destroy",s)},Resize=({swiper:e,on:t,emit:n})=>{let a=null,o=null;const r=()=>{!e||e.destroyed||!e.initialized||(n("beforeResize"),n("resize"))},s=()=>{!e||e.destroyed||!e.initialized||(a=new ResizeObserver(u=>{o=window.requestAnimationFrame(()=>{const{width:c,height:d}=e;let v=c,f=d;u.forEach(({contentBoxSize:p,contentRect:m,target:_})=>{if(_&&_!==e.el)return;const h=Array.isArray(p)?p[0]:p;v=m?m.width:h.inlineSize,f=m?m.height:h.blockSize}),(v!==c||f!==d)&&r()})}),a.observe(e.el))},i=()=>{o&&window.cancelAnimationFrame(o),a&&a.unobserve&&e.el&&(a.unobserve(e.el),a=null)},l=()=>{!e||e.destroyed||!e.initialized||n("orientationchange")};t("init",()=>{if(e.params.resizeObserver&&typeof window.ResizeObserver<"u"){s();return}window.addEventListener("resize",r),window.addEventListener("orientationchange",l)}),t("destroy",()=>{i(),window.removeEventListener("resize",r),window.removeEventListener("orientationchange",l)})};function slideNext(e,t=!0,n){const a=this,{enabled:o,params:r,animating:s}=a;if(!o||a.destroyed)return a;typeof e>"u"&&(e=a.params.speed);let i=r.slidesPerGroup;r.slidesPerView==="auto"&&r.slidesPerGroup===1&&r.slidesPerGroupAuto&&(i=Math.max(a.slidesPerViewDynamic("current",!0),1));const l=a.activeIndex<r.slidesPerGroupSkip?1:i,u=a.virtual&&r.virtual?.enabled;if(r.loop){if(s&&!u&&r.loopPreventsSliding)return!1;if(a.loopFix({direction:"next"}),a._clientLeft=a.wrapperEl.clientLeft,a.activeIndex===a.slides.length-1&&r.cssMode)return requestAnimationFrame(()=>{a.slideTo(a.activeIndex+l,e,t,n)}),!0}return r.rewind&&a.isEnd?a.slideTo(0,e,t,n):a.slideTo(a.activeIndex+l,e,t,n)}function slidePrev(e,t=!0,n){const a=this,{params:o,snapGrid:r,slidesGrid:s,rtlTranslate:i,enabled:l,animating:u}=a;if(!l||a.destroyed)return a;typeof e>"u"&&(e=a.params.speed);const c=a.virtual&&o.virtual?.enabled;if(o.loop){if(u&&!c&&o.loopPreventsSliding)return!1;a.loopFix({direction:"prev"}),a._clientLeft=a.wrapperEl.clientLeft}const d=i?a.translate:-a.translate;function v(g){return g<0?-Math.floor(Math.abs(g)):Math.floor(g)}const f=v(d),p=r.map(g=>v(g)),m=o.freeMode&&o.freeMode.enabled;let _=r[p.indexOf(f)-1];if(typeof _>"u"&&(o.cssMode||m)){let g;r.forEach((b,C)=>{f>=b&&(g=C)}),typeof g<"u"&&(_=m?r[g]:r[g>0?g-1:g])}let h=0;if(typeof _<"u"&&(h=s.indexOf(_),h<0&&(h=a.activeIndex-1),o.slidesPerView==="auto"&&o.slidesPerGroup===1&&o.slidesPerGroupAuto&&(h=h-a.slidesPerViewDynamic("previous",!0)+1,h=Math.max(h,0))),o.rewind&&a.isBeginning){const g=a.params.virtual?.enabled&&a.virtual?a.virtual.slides.length-1:a.slides.length-1;return a.slideTo(g,e,t,n)}else if(o.loop&&a.activeIndex===0&&o.cssMode)return requestAnimationFrame(()=>{a.slideTo(h,e,t,n)}),!0;return a.slideTo(h,e,t,n)}function slideReset(e,t=!0,n){const a=this;if(!a.destroyed)return typeof e>"u"&&(e=a.params.speed),a.slideTo(a.activeIndex,e,t,n)}function slideTo(e=0,t,n=!0,a,o){typeof e=="string"&&(e=parseInt(e,10));const r=this;let s=e;s<0&&(s=0);const{params:i,snapGrid:l,slidesGrid:u,previousIndex:c,activeIndex:d,rtlTranslate:v,wrapperEl:f,enabled:p}=r;if(!p&&!a&&!o||r.destroyed||r.animating&&i.preventInteractionOnTransition)return!1;typeof t>"u"&&(t=r.params.speed);const m=Math.min(r.params.slidesPerGroupSkip,s);let _=m+Math.floor((s-m)/r.params.slidesPerGroup);_>=l.length&&(_=l.length-1);const h=-l[_];if(i.normalizeSlideIndex)for(let T=0;T<u.length;T+=1){const $=-Math.floor(h*100),M=Math.floor(u[T]*100),A=Math.floor(u[T+1]*100);typeof u[T+1]<"u"?$>=M&&$<A-(A-M)/2?s=T:$>=M&&$<A&&(s=T+1):$>=M&&(s=T)}if(r.initialized&&s!==d&&(!r.allowSlideNext&&(v?h>r.translate&&h>r.minTranslate():h<r.translate&&h<r.minTranslate())||!r.allowSlidePrev&&h>r.translate&&h>r.maxTranslate()&&(d||0)!==s))return!1;s!==(c||0)&&n&&r.emit("beforeSlideChangeStart"),r.updateProgress(h);let g;s>d?g="next":s<d?g="prev":g="reset";const b=r.virtual&&r.params.virtual?.enabled;if(!(b&&o)&&(v&&-h===r.translate||!v&&h===r.translate))return r.updateActiveIndex(s),i.autoHeight&&r.updateAutoHeight(),r.updateSlidesClasses(),i.effect!=="slide"&&r.setTranslate(h),g!=="reset"&&(r.transitionStart(n,g),r.transitionEnd(n,g)),!1;if(i.cssMode){const T=r.isHorizontal(),$=v?h:-h;return t===0?(b&&(r.wrapperEl.style.scrollSnapType="none",r._immediateVirtual=!0),b&&!r._cssModeVirtualInitialSet&&(r.params.initialSlide??0)>0?(r._cssModeVirtualInitialSet=!0,requestAnimationFrame(()=>{f[T?"scrollLeft":"scrollTop"]=$})):f[T?"scrollLeft":"scrollTop"]=$,b&&requestAnimationFrame(()=>{r.wrapperEl.style.scrollSnapType="",r._immediateVirtual=!1})):f.scrollTo({[T?"left":"top"]:$,behavior:"smooth"}),!0}const I=getBrowser().isSafari;return b&&!o&&I&&r.isElement&&r.virtual.update(!1,!1,s),r.setTransition(t),r.setTranslate(h),r.updateActiveIndex(s),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,a),r.transitionStart(n,g),t===0?r.transitionEnd(n,g):r.animating||(r.animating=!0,r.onSlideToWrapperTransitionEnd||(r.onSlideToWrapperTransitionEnd=function($){!r||r.destroyed||$.target===this&&(r.wrapperEl.removeEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.onSlideToWrapperTransitionEnd=null,delete r.onSlideToWrapperTransitionEnd,r.transitionEnd(n,g))}),r.wrapperEl.addEventListener("transitionend",r.onSlideToWrapperTransitionEnd)),!0}function slideToClickedSlide(){const e=this;if(e.destroyed)return;const{params:t,slidesEl:n,clickedSlide:a,clickedIndex:o}=e;if(a===void 0||o===void 0)return;const r=t.slidesPerView==="auto"?e.slidesPerViewDynamic():t.slidesPerView;let s=e.getSlideIndexWhenGrid(o),i;const l=e.isElement?"swiper-slide":`.${t.slideClass}`,u=e.grid&&e.params.grid&&e.params.grid.rows>1;if(t.loop){if(e.animating)return;i=parseInt(a.getAttribute("data-swiper-slide-index"),10),t.centeredSlides?e.slideToLoop(i):s>(u?(e.slides.length-r)/2-(e.params.grid.rows-1):e.slides.length-r)?(e.loopFix(),s=e.getSlideIndex(elementChildren(n,`${l}[data-swiper-slide-index="${i}"]`)[0]),nextTick(()=>{e.slideTo(s)})):e.slideTo(s)}else e.slideTo(s)}function slideToClosest(e,t=!0,n,a=.5){const o=this;if(o.destroyed)return;typeof e>"u"&&(e=o.params.speed);let r=o.activeIndex;const s=Math.min(o.params.slidesPerGroupSkip,r),i=s+Math.floor((r-s)/o.params.slidesPerGroup),l=o.rtlTranslate?o.translate:-o.translate;if(l>=o.snapGrid[i]){const u=o.snapGrid[i],c=o.snapGrid[i+1];l-u>(c-u)*a&&(r+=o.params.slidesPerGroup)}else{const u=o.snapGrid[i-1],c=o.snapGrid[i];l-u<=(c-u)*a&&(r-=o.params.slidesPerGroup)}return r=Math.max(r,0),r=Math.min(r,o.slidesGrid.length-1),o.slideTo(r,e,t,n)}function slideToLoop(e=0,t,n=!0,a){typeof e=="string"&&(e=parseInt(e,10));const o=this;if(o.destroyed)return;typeof t>"u"&&(t=o.params.speed);const r=o.grid&&o.params.grid&&o.params.grid.rows>1;let s=e;if(o.params.loop)if(o.virtual&&o.params.virtual?.enabled)s=s+(o.virtual.slidesBefore??0);else{let i;if(r){const m=s*o.params.grid.rows;i=o.slides.find(h=>Number(h.getAttribute("data-swiper-slide-index"))===m)?.column??0}else i=o.getSlideIndexByData(s);const l=r?Math.ceil(o.slides.length/o.params.grid.rows):o.slides.length,{centeredSlides:u,slidesOffsetBefore:c,slidesOffsetAfter:d}=o.params,v=u||!!c||!!d;let f;o.params.slidesPerView==="auto"?f=o.slidesPerViewDynamic():(f=Math.ceil(parseFloat(String(o.params.slidesPerView))),v&&f%2===0&&(f=f+1));let p=l-i<f;if(v&&(p=p||i<Math.ceil(f/2)),a&&v&&o.params.slidesPerView!=="auto"&&!r&&(p=!1),p){const m=v?i<o.activeIndex?"prev":"next":i-o.activeIndex-1<o.params.slidesPerView?"next":"prev";o.loopFix({direction:m,slideTo:!0,activeSlideIndex:m==="next"?i+1:i-l+1,slideRealIndex:m==="next"?o.realIndex:void 0})}if(r){const m=s*o.params.grid.rows;s=o.slides.find(h=>Number(h.getAttribute("data-swiper-slide-index"))===m)?.column??0}else s=o.getSlideIndexByData(s)}return requestAnimationFrame(()=>{o.slideTo(s,t,n,a)}),o}var slide={slideTo,slideToLoop,slideNext,slidePrev,slideReset,slideToClosest,slideToClickedSlide};function setTransition(e,t){const n=this;n.params.cssMode||(n.wrapperEl.style.transitionDuration=`${e}ms`,n.wrapperEl.style.transitionDelay=e===0?"0ms":""),n.emit("setTransition",e,t)}function transitionEmit({swiper:e,runCallbacks:t,direction:n,step:a}){const{activeIndex:o,previousIndex:r}=e;let s=n;s||(o>r?s="next":o<r?s="prev":s="reset"),e.emit(`transition${a}`),t&&s==="reset"?e.emit(`slideResetTransition${a}`):t&&o!==r&&(e.emit(`slideChangeTransition${a}`),s==="next"?e.emit(`slideNextTransition${a}`):e.emit(`slidePrevTransition${a}`))}function transitionEnd(e=!0,t){const n=this,{params:a}=n;n.animating=!1,!a.cssMode&&(n.setTransition(0),transitionEmit({swiper:n,runCallbacks:e,direction:t,step:"End"}))}function transitionStart(e=!0,t){const n=this,{params:a}=n;a.cssMode||(a.autoHeight&&n.updateAutoHeight(),transitionEmit({swiper:n,runCallbacks:e,direction:t,step:"Start"}))}var transition={setTransition,transitionStart,transitionEnd};function getSwiperTranslate(e=this.isHorizontal()?"x":"y"){const t=this,{params:n,rtlTranslate:a,translate:o,wrapperEl:r}=t;if(n.virtualTranslate)return a?-o:o;if(n.cssMode)return o;let s=getTranslate(r,e);return s+=t.cssOverflowAdjustment(),a&&(s=-s),s||0}function maxTranslate(){return-this.snapGrid[this.snapGrid.length-1]}function minTranslate(){return-this.snapGrid[0]}function setTranslate(e,t){const n=this,{rtlTranslate:a,params:o,wrapperEl:r,progress:s}=n;let i=0,l=0;const u=0;n.isHorizontal()?i=a?-e:e:l=e,o.roundLengths&&(i=Math.floor(i),l=Math.floor(l)),n.previousTranslate=n.translate,n.translate=n.isHorizontal()?i:l,o.cssMode?r[n.isHorizontal()?"scrollLeft":"scrollTop"]=n.isHorizontal()?-i:-l:o.virtualTranslate||(n.isHorizontal()?i-=n.cssOverflowAdjustment():l-=n.cssOverflowAdjustment(),r.style.transform=`translate3d(${i}px, ${l}px, ${u}px)`);let c;const d=n.maxTranslate()-n.minTranslate();d===0?c=0:c=(e-n.minTranslate())/d,c!==s&&n.updateProgress(e),n.emit("setTranslate",n.translate,t)}function translateTo(e=0,t=this.params.speed,n=!0,a=!0,o){const r=this,{params:s,wrapperEl:i}=r;if(r.animating&&s.preventInteractionOnTransition)return!1;const l=r.minTranslate(),u=r.maxTranslate();let c;if(a&&e>l?c=l:a&&e<u?c=u:c=e,r.updateProgress(c),s.cssMode){const d=r.isHorizontal();return t===0?i[d?"scrollLeft":"scrollTop"]=-c:i.scrollTo({[d?"left":"top"]:-c,behavior:"smooth"}),!0}return t===0?(r.setTransition(0),r.setTranslate(c),n&&(r.emit("beforeTransitionStart",t,o),r.emit("transitionEnd"))):(r.setTransition(t),r.setTranslate(c),n&&(r.emit("beforeTransitionStart",t,o),r.emit("transitionStart")),r.animating||(r.animating=!0,r.onTranslateToWrapperTransitionEnd||(r.onTranslateToWrapperTransitionEnd=function(v){!r||r.destroyed||v.target===this&&(r.wrapperEl.removeEventListener("transitionend",r.onTranslateToWrapperTransitionEnd),r.onTranslateToWrapperTransitionEnd=null,delete r.onTranslateToWrapperTransitionEnd,r.animating=!1,n&&r.emit("transitionEnd"))}),r.wrapperEl.addEventListener("transitionend",r.onTranslateToWrapperTransitionEnd))),!0}var translate={getTranslate:getSwiperTranslate,setTranslate,minTranslate,maxTranslate,translateTo};function getActiveIndexByTranslate(e){const{slidesGrid:t,params:n}=e,a=e.rtlTranslate?e.translate:-e.translate;let o;for(let r=0;r<t.length;r+=1)typeof t[r+1]<"u"?a>=t[r]&&a<t[r+1]-(t[r+1]-t[r])/2?o=r:a>=t[r]&&a<t[r+1]&&(o=r+1):a>=t[r]&&(o=r);return n.normalizeSlideIndex&&(o<0||typeof o>"u")&&(o=0),o}function updateActiveIndex(e){const t=this,n=t.rtlTranslate?t.translate:-t.translate,{snapGrid:a,params:o,activeIndex:r,realIndex:s,snapIndex:i}=t;let l=e,u;const c=f=>{const p=t.virtual.slides;let m=f-(t.virtual.slidesBefore??0);return m<0&&(m=p.length+m),m>=p.length&&(m-=p.length),m};if(typeof l>"u"&&(l=getActiveIndexByTranslate(t)),a.indexOf(n)>=0)u=a.indexOf(n);else{const f=Math.min(o.slidesPerGroupSkip,l);u=f+Math.floor((l-f)/o.slidesPerGroup)}if(u>=a.length&&(u=a.length-1),l===r&&!t.params.loop){u!==i&&(t.snapIndex=u,t.emit("snapIndexChange"));return}if(l===r&&t.params.loop&&t.virtual&&t.params.virtual?.enabled){t.realIndex=c(l);return}const d=t.grid&&o.grid&&o.grid.rows>1;let v;if(t.virtual&&o.virtual?.enabled)o.loop?v=c(l):v=l;else if(d){const f=t.slides.find(m=>m.column===l);let p=parseInt(f.getAttribute("data-swiper-slide-index"),10);Number.isNaN(p)&&(p=Math.max(t.slides.indexOf(f),0)),v=Math.floor(p/o.grid.rows)}else if(t.slides[l]){const f=t.slides[l].getAttribute("data-swiper-slide-index");f?v=parseInt(f,10):v=l}else v=l;Object.assign(t,{previousSnapIndex:i,snapIndex:u,previousRealIndex:s,realIndex:v,previousIndex:r,activeIndex:l}),t.initialized&&preload(t),t.emit("activeIndexChange"),t.emit("snapIndexChange"),(t.initialized||t.params.runCallbacksOnInit)&&(s!==v&&t.emit("realIndexChange"),t.emit("slideChange"))}function updateAutoHeight(e){const t=this,n=[],a=t.virtual&&t.params.virtual?.enabled;let o=0,r;typeof e=="number"?t.setTransition(e):e===!0&&t.setTransition(t.params.speed);const s=i=>a?t.slides[t.getSlideIndexByData(i)]:t.slides[i];if(t.params.slidesPerView!=="auto"&&t.params.slidesPerView>1)if(t.params.centeredSlides)(t.visibleSlides||[]).forEach(i=>{n.push(i)});else for(r=0;r<Math.ceil(t.params.slidesPerView);r+=1){const i=t.activeIndex+r;if(i>t.slides.length&&!a)break;const l=s(i);l&&n.push(l)}else{const i=s(t.activeIndex);i&&n.push(i)}for(r=0;r<n.length;r+=1)if(typeof n[r]<"u"){const i=n[r].offsetHeight;o=i>o?i:o}(o||o===0)&&(t.wrapperEl.style.height=`${o}px`)}function updateClickedSlide(e,t){const n=this,a=n.params;let o=e.closest(`.${a.slideClass}, swiper-slide`);!o&&n.isElement&&t&&t.length>1&&t.includes(e)&&[...t.slice(t.indexOf(e)+1,t.length)].forEach(i=>{!o&&i.matches&&i.matches(`.${a.slideClass}, swiper-slide`)&&(o=i)});let r=!1,s;if(o){for(let i=0;i<n.slides.length;i+=1)if(n.slides[i]===o){r=!0,s=i;break}}if(o&&r)n.clickedSlide=o,n.virtual&&n.params.virtual?.enabled?n.clickedIndex=parseInt(o.getAttribute("data-swiper-slide-index"),10):n.clickedIndex=s;else{n.clickedSlide=void 0,n.clickedIndex=void 0;return}a.slideToClickedSlide&&n.clickedIndex!==void 0&&n.clickedIndex!==n.activeIndex&&n.slideToClickedSlide()}function updateProgress(e){const t=this;if(typeof e>"u"){const c=t.rtlTranslate?-1:1;e=t&&t.translate&&t.translate*c||0}const n=t.params,a=t.maxTranslate()-t.minTranslate();let{progress:o,isBeginning:r,isEnd:s}=t,i=t.progressLoop;const l=r,u=s;if(a===0)o=0,r=!0,s=!0;else{o=(e-t.minTranslate())/a;const c=Math.abs(e-t.minTranslate())<1,d=Math.abs(e-t.maxTranslate())<1;r=c||o<=0,s=d||o>=1,c&&(o=0),d&&(o=1)}if(n.loop){const c=t.getSlideIndexByData(0),d=t.getSlideIndexByData(t.slides.length-1),v=t.slidesGrid[c],f=t.slidesGrid[d],p=t.slidesGrid[t.slidesGrid.length-1],m=Math.abs(e);m>=v?i=(m-v)/p:i=(m+p-f)/p,i>1&&(i-=1)}Object.assign(t,{progress:o,progressLoop:i,isBeginning:r,isEnd:s}),(n.watchSlidesProgress||n.centeredSlides&&n.autoHeight)&&t.updateSlidesProgress(e),r&&!l&&t.emit("reachBeginning toEdge"),s&&!u&&t.emit("reachEnd toEdge"),(l&&!r||u&&!s)&&t.emit("fromEdge"),t.emit("progress",o)}function updateSize(){const e=this;let t,n;const a=e.el;typeof e.params.width<"u"&&e.params.width!==null?t=e.params.width:t=a.clientWidth,typeof e.params.height<"u"&&e.params.height!==null?n=e.params.height:n=a.clientHeight,!(t===0&&e.isHorizontal()||n===0&&e.isVertical())&&(t=t-parseInt(elementStyle(a,"padding-left")||"0",10)-parseInt(elementStyle(a,"padding-right")||"0",10),n=n-parseInt(elementStyle(a,"padding-top")||"0",10)-parseInt(elementStyle(a,"padding-bottom")||"0",10),Number.isNaN(t)&&(t=0),Number.isNaN(n)&&(n=0),Object.assign(e,{width:t,height:n,size:e.isHorizontal()?t:n}))}function updateSlides(){const e=this;function t(E,D){return parseFloat(E.getPropertyValue(e.getDirectionLabel(D))||"0")}const n=e.params,{wrapperEl:a,slidesEl:o,rtlTranslate:r,wrongRTL:s}=e,i=!!(e.virtual&&n.virtual?.enabled),l=i?e.virtual.slides.length:e.slides.length,u=elementChildren(o,`.${e.params.slideClass}, swiper-slide`),c=i?e.virtual.slides.length:u.length;let d=[];const v=[],f=[],p=E=>typeof E=="function"?E.call(e):E,m=p(n.slidesOffsetBefore),_=p(n.slidesOffsetAfter),h=e.snapGrid.length,g=e.slidesGrid.length,b=e.size-m-_;let C=n.spaceBetween,L=-m,I=0,T=0;if(typeof b>"u")return;typeof C=="string"&&C.indexOf("%")>=0?C=parseFloat(C.replace("%",""))/100*b:typeof C=="string"&&(C=parseFloat(C)),e.virtualSize=-C-m-_,u.forEach(E=>{r?E.style.marginLeft="":E.style.marginRight="",E.style.marginBottom="",E.style.marginTop=""}),n.centeredSlides&&n.cssMode&&(setCSSProperty(a,"--swiper-centered-offset-before",""),setCSSProperty(a,"--swiper-centered-offset-after","")),n.cssMode&&(setCSSProperty(a,"--swiper-slides-offset-before",`${m}px`),setCSSProperty(a,"--swiper-slides-offset-after",`${_}px`));const $=n.grid&&n.grid.rows>1&&e.grid;$?e.grid.initSlides(u):e.grid&&e.grid.unsetSlides();let M=0;const A=n.slidesPerView==="auto"&&n.breakpoints&&Object.keys(n.breakpoints).filter(E=>typeof n.breakpoints[E]?.slidesPerView<"u").length>0;for(let E=0;E<c;E+=1){M=0;const D=u[E];if(!(D&&($&&e.grid.updateSlide(E,D,u),elementStyle(D,"display")==="none"))){if(i&&n.slidesPerView==="auto")n.virtual?.slidesPerViewAutoSlideSize&&(M=n.virtual.slidesPerViewAutoSlideSize),M&&D&&(n.roundLengths&&(M=Math.floor(M)),D.style[e.getDirectionLabel("width")]=`${M}px`);else if(n.slidesPerView==="auto"){A&&(D.style[e.getDirectionLabel("width")]="");const S=getComputedStyle(D),B=D.style.transform,O=D.style.webkitTransform;if(B&&(D.style.transform="none"),O&&(D.style.webkitTransform="none"),n.roundLengths)M=e.isHorizontal()?elementOuterSize(D,"width"):elementOuterSize(D,"height");else{const w=t(S,"width"),V=t(S,"padding-left"),k=t(S,"padding-right"),N=t(S,"margin-left"),P=t(S,"margin-right"),F=S.getPropertyValue("box-sizing");if(F&&F==="border-box")M=w+N+P;else{const{clientWidth:R,offsetWidth:H}=D;M=w+V+k+N+P+(H-R)}}B&&(D.style.transform=B),O&&(D.style.webkitTransform=O),n.roundLengths&&(M=Math.floor(M))}else M=(b-(n.slidesPerView-1)*C)/n.slidesPerView,n.roundLengths&&(M=Math.floor(M)),D&&(D.style[e.getDirectionLabel("width")]=`${M}px`);D&&(D.swiperSlideSize=M),f.push(M),n.centeredSlides?(L=L+M/2+I/2+C,I===0&&E!==0&&(L=L-b/2-C),E===0&&(L=L-b/2-C),Math.abs(L)<1/1e3&&(L=0),n.roundLengths&&(L=Math.floor(L)),T%n.slidesPerGroup===0&&d.push(L),v.push(L)):(n.roundLengths&&(L=Math.floor(L)),(T-Math.min(e.params.slidesPerGroupSkip,T))%e.params.slidesPerGroup===0&&d.push(L),v.push(L),L=L+M+C),e.virtualSize+=M+C,I=M,T+=1}}if(e.virtualSize=Math.max(e.virtualSize,b)+_,r&&s&&(n.effect==="slide"||n.effect==="coverflow")&&(a.style.width=`${e.virtualSize+C}px`),n.setWrapperSize&&(a.style[e.getDirectionLabel("width")]=`${e.virtualSize+C}px`),$&&e.grid.updateWrapperSize(M,d),!n.centeredSlides){const E=n.slidesPerView!=="auto"&&n.slidesPerView%1!==0,D=n.snapToSlideEdge&&!n.loop&&(n.slidesPerView==="auto"||E);let S=d.length;if(D){let O;if(n.slidesPerView==="auto"){O=1;let w=0;for(let V=f.length-1;V>=0&&(w+=f[V]+(V<f.length-1?C:0),w<=b);V-=1)O=f.length-V}else O=Math.floor(n.slidesPerView);S=Math.max(c-O,0)}const B=[];for(let O=0;O<d.length;O+=1){let w=d[O];n.roundLengths&&(w=Math.floor(w)),D?O<=S&&B.push(w):d[O]<=e.virtualSize-b&&B.push(w)}d=B,Math.floor(e.virtualSize-b)-Math.floor(d[d.length-1])>1&&(D||d.push(e.virtualSize-b))}if(i&&n.loop){const E=f[0]+C,D=e.virtual.slidesBefore??0,S=e.virtual.slidesAfter??0,B=D+S;if(n.slidesPerGroup>1){const O=Math.ceil(B/n.slidesPerGroup),w=E*n.slidesPerGroup;for(let V=0;V<O;V+=1)d.push(d[d.length-1]+w)}for(let O=0;O<B;O+=1)n.slidesPerGroup===1&&d.push(d[d.length-1]+E),v.push(v[v.length-1]+E),e.virtualSize+=E}if(d.length===0&&(d=[0]),C!==0){const E=e.isHorizontal()&&r?"marginLeft":e.getDirectionLabel("marginRight");u.filter((D,S)=>!n.cssMode||n.loop?!0:S!==u.length-1).forEach(D=>{D.style[E]=`${C}px`})}if(n.centeredSlides&&n.centeredSlidesBounds){let E=0;f.forEach(S=>{E+=S+(C||0)}),E-=C;const D=E>b?E-b:0;d=d.map(S=>S<=0?-m:S>D?D+_:S)}if(n.centerInsufficientSlides){let E=0;if(f.forEach(D=>{E+=D+(C||0)}),E-=C,E<b){const D=(b-E)/2;d.forEach((S,B)=>{d[B]=S-D}),v.forEach((S,B)=>{v[B]=S+D})}}if(Object.assign(e,{slides:u,snapGrid:d,slidesGrid:v,slidesSizesGrid:f}),n.centeredSlides&&n.cssMode&&!n.centeredSlidesBounds){setCSSProperty(a,"--swiper-centered-offset-before",`${-d[0]}px`),setCSSProperty(a,"--swiper-centered-offset-after",`${e.size/2-f[f.length-1]/2}px`);const E=-e.snapGrid[0],D=-e.slidesGrid[0];e.snapGrid=e.snapGrid.map(S=>S+E),e.slidesGrid=e.slidesGrid.map(S=>S+D)}if(c!==l&&e.emit("slidesLengthChange"),d.length!==h&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),v.length!==g&&e.emit("slidesGridLengthChange"),n.watchSlidesProgress&&e.updateSlidesOffset(),e.emit("slidesUpdated"),!i&&!n.cssMode&&(n.effect==="slide"||n.effect==="fade")){const E=`${n.containerModifierClass}backface-hidden`,D=e.el.classList.contains(E);c<=n.maxBackfaceHiddenSlides?D||e.el.classList.add(E):D&&e.el.classList.remove(E)}}const toggleSlideClasses$1=(e,t,n)=>{t&&!e.classList.contains(n)?e.classList.add(n):!t&&e.classList.contains(n)&&e.classList.remove(n)};function updateSlidesClasses(){const e=this,{slides:t,params:n,slidesEl:a,activeIndex:o}=e,r=!!(e.virtual&&n.virtual?.enabled),s=e.grid&&n.grid&&n.grid.rows>1,i=d=>elementChildren(a,`.${n.slideClass}${d}, swiper-slide${d}`)[0];let l,u,c;if(r)if(n.loop){const d=e.virtual.slides;let v=o-(e.virtual.slidesBefore??0);v<0&&(v=d.length+v),v>=d.length&&(v-=d.length),l=i(`[data-swiper-slide-index="${v}"]`)}else l=i(`[data-swiper-slide-index="${o}"]`);else s?(l=t.find(d=>d.column===o),c=t.find(d=>d.column===o+1),u=t.find(d=>d.column===o-1)):l=t[o];l&&(s||(c=elementNextAll(l,`.${n.slideClass}, swiper-slide`)[0],n.loop&&!c&&(c=t[0]),u=elementPrevAll(l,`.${n.slideClass}, swiper-slide`)[0],n.loop&&!u===0&&(u=t[t.length-1]))),t.forEach(d=>{toggleSlideClasses$1(d,d===l,n.slideActiveClass),toggleSlideClasses$1(d,d===c,n.slideNextClass),toggleSlideClasses$1(d,d===u,n.slidePrevClass)}),e.emitSlidesClasses()}function updateSlidesOffset(){const e=this,t=e.slides,n=e.isElement?e.isHorizontal()?e.wrapperEl.offsetLeft:e.wrapperEl.offsetTop:0;for(let a=0;a<t.length;a+=1)t[a].swiperSlideOffset=(e.isHorizontal()?t[a].offsetLeft:t[a].offsetTop)-n-e.cssOverflowAdjustment()}const toggleSlideClasses=(e,t,n)=>{t&&!e.classList.contains(n)?e.classList.add(n):!t&&e.classList.contains(n)&&e.classList.remove(n)};function updateSlidesProgress(e=this&&this.translate||0){const t=this,n=t.params,{slides:a,rtlTranslate:o,snapGrid:r}=t;if(a.length===0)return;typeof a[0].swiperSlideOffset>"u"&&t.updateSlidesOffset();let s=-e;o&&(s=e),t.visibleSlidesIndexes=[],t.visibleSlides=[];let i=n.spaceBetween;typeof i=="string"&&i.indexOf("%")>=0?i=parseFloat(i.replace("%",""))/100*t.size:typeof i=="string"&&(i=parseFloat(i));for(let l=0;l<a.length;l+=1){const u=a[l];let c=u.swiperSlideOffset??0;n.cssMode&&n.centeredSlides&&(c-=a[0].swiperSlideOffset??0);const d=u.swiperSlideSize??0,v=(s+(n.centeredSlides?t.minTranslate():0)-c)/(d+i),f=(s-r[0]+(n.centeredSlides?t.minTranslate():0)-c)/(d+i),p=-(s-c),m=p+t.slidesSizesGrid[l],_=p>=0&&p<=t.size-t.slidesSizesGrid[l],h=p>=0&&p<t.size-1||m>1&&m<=t.size||p<=0&&m>=t.size;h&&(t.visibleSlides.push(u),t.visibleSlidesIndexes.push(l)),toggleSlideClasses(u,h,n.slideVisibleClass),toggleSlideClasses(u,_,n.slideFullyVisibleClass),u.progress=o?-v:v,u.originalProgress=o?-f:f}}var update={updateSize,updateSlides,updateAutoHeight,updateSlidesOffset,updateSlidesProgress,updateProgress,updateSlidesClasses,updateActiveIndex,updateClickedSlide};const prototypes={eventsEmitter,update,translate,transition,slide,loop,grabCursor,events:events$1,breakpoints,checkOverflow:checkOverflow$1,classes},extendedDefaults={};let Swiper$1=class he{static extendedDefaults;static defaults;constructor(...t){let n,a;if(t.length===1&&t[0]!==null&&typeof t[0]=="object"&&Object.prototype.toString.call(t[0]).slice(8,-1)==="Object"?a=t[0]:[n,a]=t,a||(a={}),a=extend$1({},a),n&&!a.el&&(a.el=n),a.el&&typeof a.el=="string"&&typeof document<"u"&&document.querySelectorAll(a.el).length>1){const i=[];return document.querySelectorAll(a.el).forEach(l=>{const u=extend$1({},a,{el:l});i.push(new he(u))}),i}const o=this;o.__swiper__=!0,o.support=getSupport(),o.device=getDevice({userAgent:a.userAgent??void 0}),o.browser=getBrowser(),o.eventsListeners={},o.eventsAnyListeners=[],o.modules=[...o.__modules__||[]],a.modules&&Array.isArray(a.modules)&&a.modules.forEach(i=>{const l=i;typeof l=="function"&&o.modules.indexOf(l)<0&&o.modules.push(l)});const r={};o.modules.forEach(i=>{i({params:a,swiper:o,extendParams:moduleExtendParams(a,r),on:o.on.bind(o),once:o.once.bind(o),off:o.off.bind(o),emit:o.emit.bind(o)})});const s=extend$1({},defaults,r);if(o.params=extend$1({},s,extendedDefaults,a),o.originalParams=extend$1({},o.params),o.passedParams=extend$1({},a),o.params&&o.params.on){const i=o.params.on;Object.keys(i).forEach(l=>{const u=i[l];u&&o.on(l,u)})}return o.params&&o.params.onAny&&o.onAny(o.params.onAny),Object.assign(o,{enabled:o.params.enabled,el:n,classNames:[],slides:[],slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal(){return o.params.direction==="horizontal"},isVertical(){return o.params.direction==="vertical"},activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,cssOverflowAdjustment(){return Math.trunc(this.translate/2**23)*2**23},allowSlideNext:o.params.allowSlideNext,allowSlidePrev:o.params.allowSlidePrev,touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:o.params.focusableElements,lastClickTime:0,clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,startMoving:void 0,pointerId:null,touchId:null},allowClick:!0,allowTouchMove:o.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),o.emit("_swiper"),o.params.init&&o.init(),o}getDirectionLabel(t){return this.isHorizontal()?t:{width:"height","margin-top":"margin-left","margin-bottom ":"margin-right","margin-left":"margin-top","margin-right":"margin-bottom","padding-left":"padding-top","padding-right":"padding-bottom",marginRight:"marginBottom"}[t]}isHorizontal(){return this.params.direction==="horizontal"}isVertical(){return this.params.direction==="vertical"}cssOverflowAdjustment(){return Math.trunc(this.translate/2**23)*2**23}getSlideIndex(t){const{slidesEl:n,params:a}=this,o=elementChildren(n,`.${a.slideClass}, swiper-slide`),r=elementIndex(o[0]);return elementIndex(t)-(r??0)}getSlideIndexByData(t){return this.getSlideIndex(this.slides.find(n=>Number(n.getAttribute("data-swiper-slide-index"))===t))}getSlideIndexWhenGrid(t){return this.grid&&this.params.grid&&this.params.grid.rows>1&&(this.params.grid.fill==="column"?t=Math.floor(t/this.params.grid.rows):this.params.grid.fill==="row"&&(t=t%Math.ceil(this.slides.length/this.params.grid.rows))),t}recalcSlides(){const{slidesEl:t,params:n}=this;this.slides=elementChildren(t,`.${n.slideClass}, swiper-slide`)}enable(){this.enabled||(this.enabled=!0,this.params.grabCursor&&this.setGrabCursor(),this.emit("enable"))}disable(){this.enabled&&(this.enabled=!1,this.params.grabCursor&&this.unsetGrabCursor(),this.emit("disable"))}setProgress(t,n){t=Math.min(Math.max(t,0),1);const a=this.minTranslate(),r=(this.maxTranslate()-a)*t+a;this.translateTo(r,typeof n>"u"?0:n),this.updateActiveIndex(),this.updateSlidesClasses()}emitContainerClasses(){if(!this.params._emitClasses||!this.el)return;const t=this.el.className.split(" ").filter(n=>n.indexOf("swiper")===0||n.indexOf(this.params.containerModifierClass)===0);this.emit("_containerClasses",t.join(" "))}getSlideClasses(t){return this.destroyed?"":t.className.split(" ").filter(n=>n.indexOf("swiper-slide")===0||n.indexOf(this.params.slideClass)===0).join(" ")}emitSlidesClasses(){if(!this.params._emitClasses||!this.el)return;const t=[];this.slides.forEach(n=>{const a=this.getSlideClasses(n);t.push({slideEl:n,classNames:a}),this.emit("_slideClass",n,a)}),this.emit("_slideClasses",t)}slidesPerViewDynamic(t="current",n=!1){const{params:a,slides:o,slidesGrid:r,slidesSizesGrid:s,size:i,activeIndex:l}=this;let u=1;if(typeof a.slidesPerView=="number")return a.slidesPerView;if(!i)return u;if(a.centeredSlides){let c=o[l]?Math.ceil(o[l].swiperSlideSize??0):0,d=!1;for(let v=l+1;v<o.length;v+=1)o[v]&&!d&&(c+=Math.ceil(o[v].swiperSlideSize??0),u+=1,c>i&&(d=!0));for(let v=l-1;v>=0;v-=1)o[v]&&!d&&(c+=o[v].swiperSlideSize??0,u+=1,c>i&&(d=!0))}else if(t==="current")for(let c=l+1;c<o.length;c+=1)(n?r[c]+s[c]-r[l]<i:r[c]-r[l]<i)&&(u+=1);else for(let c=l-1;c>=0;c-=1)r[l]-r[c]<i&&(u+=1);return u}update(){const t=this;if(!t||t.destroyed)return;const{snapGrid:n,params:a}=t;a.breakpoints&&t.setBreakpoint(),[...t.el.querySelectorAll('[loading="lazy"]')].forEach(s=>{s.complete&&processLazyPreloader(t,s)}),t.updateSize(),t.updateSlides(),t.updateProgress(),t.updateSlidesClasses();function o(){const s=t.rtlTranslate?t.translate*-1:t.translate,i=Math.min(Math.max(s,t.maxTranslate()),t.minTranslate());t.setTranslate(i),t.updateActiveIndex(),t.updateSlidesClasses()}let r;if(a.freeMode?.enabled&&!a.cssMode)o(),a.autoHeight&&t.updateAutoHeight();else{if((a.slidesPerView==="auto"||a.slidesPerView>1)&&t.isEnd&&!a.centeredSlides){const s=t.virtual&&a.virtual?.enabled?t.virtual.slides.length:t.slides.length;r=t.slideTo(s-1,0,!1,!0)}else r=t.slideTo(t.activeIndex,0,!1,!0);r||o()}a.watchOverflow&&n!==t.snapGrid&&t.checkOverflow(),t.emit("update")}changeDirection(t,n=!0){const a=this,o=a.params.direction;return t||(t=o==="horizontal"?"vertical":"horizontal"),t===o||t!=="horizontal"&&t!=="vertical"||(a.el.classList.remove(`${a.params.containerModifierClass}${o}`),a.el.classList.add(`${a.params.containerModifierClass}${t}`),a.emitContainerClasses(),a.params.direction=t,a.slides.forEach(r=>{t==="vertical"?r.style.width="":r.style.height=""}),a.emit("changeDirection"),n&&a.update()),a}changeLanguageDirection(t){const n=this;n.rtl&&t==="rtl"||!n.rtl&&t==="ltr"||(n.rtl=t==="rtl",n.rtlTranslate=n.params.direction==="horizontal"&&n.rtl,n.rtl?(n.el.classList.add(`${n.params.containerModifierClass}rtl`),n.el.dir="rtl"):(n.el.classList.remove(`${n.params.containerModifierClass}rtl`),n.el.dir="ltr"),n.update())}mount(t){const n=this;if(n.mounted)return!0;if(typeof document>"u")return!1;const a=t??n.params.el;let o=null;if(typeof a=="string"?o=document.querySelector(a):a instanceof HTMLElement&&(o=a),!o)return!1;o.swiper=n;const r=o.parentNode;r&&r.host&&r.host.nodeName===n.params.swiperElementNodeName.toUpperCase()&&(n.isElement=!0);const s=()=>`.${(n.params.wrapperClass||"").trim().split(" ").join(".")}`;let l=o&&o.shadowRoot?o.shadowRoot.querySelector(s()):elementChildren(o,s())[0];!l&&n.params.createElements&&(l=createElement("div",n.params.wrapperClass),o.append(l),elementChildren(o,`.${n.params.slideClass}`).forEach(c=>{l.append(c)}));const u=n.isElement?o.parentNode.host:null;return Object.assign(n,{el:o,wrapperEl:l,slidesEl:n.isElement&&!u.slideSlots?u:l,hostEl:n.isElement?u:o,mounted:!0,rtl:o.dir.toLowerCase()==="rtl"||elementStyle(o,"direction")==="rtl",rtlTranslate:n.params.direction==="horizontal"&&(o.dir.toLowerCase()==="rtl"||elementStyle(o,"direction")==="rtl"),wrongRTL:elementStyle(l,"display")==="-webkit-box"}),!0}init(t){const n=this;if(n.initialized||n.mount(t)===!1)return n;n.emit("beforeInit"),n.params.breakpoints&&n.setBreakpoint(),n.addClasses(),n.updateSize(),n.updateSlides(),n.params.watchOverflow&&n.checkOverflow(),n.params.grabCursor&&n.enabled&&n.setGrabCursor(),n.params.loop&&n.virtual&&n.params.virtual?.enabled?n.slideTo((n.params.initialSlide??0)+(n.virtual.slidesBefore??0),0,n.params.runCallbacksOnInit,!1,!0):n.slideTo(n.params.initialSlide,0,n.params.runCallbacksOnInit,!1,!0),n.params.loop&&n.loopCreate(void 0,!0),n.attachEvents();const o=[...n.el.querySelectorAll('[loading="lazy"]')];return n.isElement&&o.push(...n.hostEl.querySelectorAll('[loading="lazy"]')),o.forEach(r=>{r.complete?processLazyPreloader(n,r):r.addEventListener("load",s=>{processLazyPreloader(n,s.target)})}),preload(n),n.initialized=!0,preload(n),n.emit("init"),n.emit("afterInit"),n}destroy(t=!0,n=!0){const a=this,{params:o,el:r,wrapperEl:s,slides:i}=a;return typeof a.params>"u"||a.destroyed||(a.emit("beforeDestroy"),a.initialized=!1,a.detachEvents(),o.loop&&a.loopDestroy(),n&&(a.removeClasses(),r&&typeof r!="string"&&r.removeAttribute("style"),s&&s.removeAttribute("style"),i&&i.length&&i.forEach(l=>{l.classList.remove(o.slideVisibleClass,o.slideFullyVisibleClass,o.slideActiveClass,o.slideNextClass,o.slidePrevClass),l.removeAttribute("style"),l.removeAttribute("data-swiper-slide-index")})),a.emit("destroy"),Object.keys(a.eventsListeners).forEach(l=>{a.off(l)}),t!==!1&&(a.el&&typeof a.el!="string"&&(a.el.swiper=null),deleteProps(a)),a.destroyed=!0),null}static extendDefaults(t){extend$1(extendedDefaults,t)}static installModule(t){he.prototype.__modules__||(he.prototype.__modules__=[]);const n=he.prototype.__modules__;typeof t=="function"&&n.indexOf(t)<0&&n.push(t)}static use(t){return Array.isArray(t)?(t.forEach(n=>he.installModule(n)),he):(he.installModule(t),he)}};Object.defineProperty(Swiper$1,"extendedDefaults",{get(){return extendedDefaults}});Object.defineProperty(Swiper$1,"defaults",{get(){return defaults}});const prototypeRecord=prototypes,swiperProto=Swiper$1.prototype;Object.keys(prototypeRecord).forEach(e=>{const t=prototypeRecord[e];Object.keys(t).forEach(n=>{swiperProto[n]=t[n]})});Swiper$1.use([Resize,Observer]);function getChangedParams(e,t,n,a,o){const r=[];if(!t)return r;const s=l=>{r.indexOf(l)<0&&r.push(l)};if(n&&a){const l=a.map(o),u=n.map(o);l.join("")!==u.join("")&&s("children"),a.length!==n.length&&s("children")}return paramsList.filter(l=>l[0]==="_").map(l=>l.replace(/_/,"")).forEach(l=>{if(l in e&&l in t){const u=e[l],c=t[l];if(isObject$1(u)&&isObject$1(c)){const d=Object.keys(u),v=Object.keys(c);d.length!==v.length?s(l):(d.forEach(f=>{u[f]!==c[f]&&s(l)}),v.forEach(f=>{u[f]!==c[f]&&s(l)}))}else u!==c&&s(l)}}),r}function getParams(e={},t=!0){const n={on:{}},a={},o={};extend(n,defaults),n._emitClasses=!0,n.init=!1;const r={},s=paramsList.map(l=>l.replace(/_/,"")),i={...e};return Object.keys(i).forEach(l=>{const u=e[l];if(!(typeof u>"u"))if(s.indexOf(l)>=0)isObject$1(u)?(n[l]={},o[l]={},extend(n[l],u),extend(o[l],u)):(n[l]=u,o[l]=u);else if(l.search(/on[A-Z]/)===0&&typeof u=="function"){const c=`${l[2].toLowerCase()}${l.substring(3)}`,d=u;t?a[c]=d:n.on[c]=d}else r[l]=u}),["navigation","pagination","scrollbar"].forEach(l=>{n[l]===!0&&(n[l]={}),n[l]===!1&&delete n[l]}),{params:n,passedParams:o,rest:r,events:a}}function mountSwiper(e,t){const{el:n,nextEl:a,prevEl:o,paginationEl:r,scrollbarEl:s,swiper:i}=e;if(needsNavigation(t)&&a&&o){const l=i.params.navigation,u=i.originalParams.navigation;l.nextEl=a,u.nextEl=a,l.prevEl=o,u.prevEl=o}needsPagination(t)&&r&&(i.params.pagination.el=r,i.originalParams.pagination.el=r),needsScrollbar(t)&&s&&(i.params.scrollbar.el=s,i.originalParams.scrollbar.el=s),i.init(n)}const updateOnVirtualData=e=>{!e||e.destroyed||!e.params.virtual||e.params.virtual&&!e.params.virtual.enabled||(e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),e.emit("_virtualUpdated"),e.parallax&&e.params.parallax&&e.params.parallax.enabled&&e.parallax.setTranslate?.())};function getChildren(e={},t,n){const a=[],o={"container-start":[],"container-end":[],"wrapper-start":[],"wrapper-end":[]},r=(s,i)=>{if(!Array.isArray(s))return;let l=i==="default"?"container-end":i;s.forEach(u=>{if(typeof u.type=="symbol"&&u.children){r(u.children,l);return}const d=u.type,v=u.componentOptions?.tag;d&&(d.name==="SwiperSlide"||d.name==="AsyncComponentWrapper")||v==="SwiperSlide"?a.push(u):o[l]&&o[l].push(u)})};return Object.keys(e).forEach(s=>{const i=e[s];if(typeof i!="function")return;const l=i();r(l,s)}),n.value=t.value,t.value=a,{slides:a,slots:o}}function renderVirtual(e,t,n){if(!n)return null;const a=e.value;if(!a)return null;const o=d=>{let v=d;return d<0?v=t.length+d:v>=t.length&&(v-=t.length),v},r=a.isHorizontal()?{[a.rtlTranslate?"right":"left"]:`${n.offset}px`}:{top:`${n.offset}px`},{from:s,to:i}=n,l=a.params.loop?-t.length:0,u=a.params.loop?t.length*2:t.length,c=[];for(let d=l;d<u;d+=1)if(d>=s&&d<=i&&c.length<t.length){const v=t[o(d)];v&&c.push(v)}return c.map(d=>{const v=d.props??{};if(v.style=v.style??{},v.swiperRef=e,v.style=r,d.props=v,d.type)return vue.h(d.type,{...v},d.children);if(d.componentOptions)return vue.h(d.componentOptions.Ctor,{...v},d.componentOptions.children)})}const SWIPER_EVENTS=["_beforeBreakpoint","_containerClasses","_slideClass","_slideClasses","_swiper","_freeModeNoMomentumRelease","_virtualUpdated","activeIndexChange","afterInit","autoplay","autoplayStart","autoplayStop","autoplayPause","autoplayResume","autoplayTimeLeft","beforeDestroy","beforeInit","beforeLoopFix","beforeResize","beforeSlideChangeStart","beforeTransitionStart","breakpoint","changeDirection","click","disable","doubleTap","doubleClick","destroy","enable","fromEdge","hashChange","hashSet","init","keyPress","lock","loopFix","momentumBounce","navigationHide","navigationShow","navigationPrev","navigationNext","observerUpdate","orientationchange","paginationHide","paginationRender","paginationShow","paginationUpdate","progress","reachBeginning","reachEnd","realIndexChange","resize","scroll","scrollbarDragEnd","scrollbarDragMove","scrollbarDragStart","setTransition","setTranslate","slidesUpdated","slideChange","slideChangeTransitionEnd","slideChangeTransitionStart","slideNextTransitionEnd","slideNextTransitionStart","slidePrevTransitionEnd","slidePrevTransitionStart","slideResetTransitionStart","slideResetTransitionEnd","sliderMove","sliderFirstMove","slidesLengthChange","slidesGridLengthChange","snapGridLengthChange","snapIndexChange","swiper","tap","toEdge","touchEnd","touchMove","touchMoveOpposite","touchStart","transitionEnd","transitionStart","unlock","update","virtualUpdate","zoomChange"],Swiper=vue.defineComponent({name:"Swiper",props:{tag:{type:String,default:"div"},wrapperTag:{type:String,default:"div"},modules:{type:Array,default:void 0},init:{type:Boolean,default:void 0},direction:{type:String,default:void 0},oneWayMovement:{type:Boolean,default:void 0},swiperElementNodeName:{type:String,default:"SWIPER-CONTAINER"},touchEventsTarget:{type:String,default:void 0},initialSlide:{type:Number,default:void 0},speed:{type:Number,default:void 0},cssMode:{type:Boolean,default:void 0},updateOnWindowResize:{type:Boolean,default:void 0},resizeObserver:{type:Boolean,default:void 0},nested:{type:Boolean,default:void 0},focusableElements:{type:String,default:void 0},width:{type:Number,default:void 0},height:{type:Number,default:void 0},preventInteractionOnTransition:{type:Boolean,default:void 0},userAgent:{type:String,default:void 0},url:{type:String,default:void 0},edgeSwipeDetection:{type:[Boolean,String],default:void 0},edgeSwipeThreshold:{type:Number,default:void 0},autoHeight:{type:Boolean,default:void 0},setWrapperSize:{type:Boolean,default:void 0},virtualTranslate:{type:Boolean,default:void 0},effect:{type:String,default:void 0},breakpoints:{type:Object,default:void 0},breakpointsBase:{type:String,default:void 0},spaceBetween:{type:[Number,String],default:void 0},slidesPerView:{type:[Number,String],default:void 0},maxBackfaceHiddenSlides:{type:Number,default:void 0},slidesPerGroup:{type:Number,default:void 0},slidesPerGroupSkip:{type:Number,default:void 0},slidesPerGroupAuto:{type:Boolean,default:void 0},centeredSlides:{type:Boolean,default:void 0},centeredSlidesBounds:{type:Boolean,default:void 0},slidesOffsetBefore:{type:Number,default:void 0},slidesOffsetAfter:{type:Number,default:void 0},normalizeSlideIndex:{type:Boolean,default:void 0},centerInsufficientSlides:{type:Boolean,default:void 0},watchOverflow:{type:Boolean,default:void 0},roundLengths:{type:Boolean,default:void 0},touchRatio:{type:Number,default:void 0},touchAngle:{type:Number,default:void 0},simulateTouch:{type:Boolean,default:void 0},shortSwipes:{type:Boolean,default:void 0},longSwipes:{type:Boolean,default:void 0},longSwipesRatio:{type:Number,default:void 0},longSwipesMs:{type:Number,default:void 0},followFinger:{type:Boolean,default:void 0},allowTouchMove:{type:Boolean,default:void 0},threshold:{type:Number,default:void 0},touchMoveStopPropagation:{type:Boolean,default:void 0},touchStartPreventDefault:{type:Boolean,default:void 0},touchStartForcePreventDefault:{type:Boolean,default:void 0},touchReleaseOnEdges:{type:Boolean,default:void 0},uniqueNavElements:{type:Boolean,default:void 0},resistance:{type:Boolean,default:void 0},resistanceRatio:{type:Number,default:void 0},watchSlidesProgress:{type:Boolean,default:void 0},grabCursor:{type:Boolean,default:void 0},preventClicks:{type:Boolean,default:void 0},preventClicksPropagation:{type:Boolean,default:void 0},slideToClickedSlide:{type:Boolean,default:void 0},loop:{type:Boolean,default:void 0},loopedSlides:{type:Number,default:void 0},loopPreventsSliding:{type:Boolean,default:void 0},loopAdditionalSlides:{type:Number,default:void 0},loopAddBlankSlides:{type:Boolean,default:void 0},rewind:{type:Boolean,default:void 0},allowSlidePrev:{type:Boolean,default:void 0},allowSlideNext:{type:Boolean,default:void 0},swipeHandler:{type:Boolean,default:void 0},noSwiping:{type:Boolean,default:void 0},noSwipingClass:{type:String,default:void 0},noSwipingSelector:{type:String,default:void 0},passiveListeners:{type:Boolean,default:void 0},containerModifierClass:{type:String,default:void 0},slideClass:{type:String,default:void 0},slideActiveClass:{type:String,default:void 0},slideVisibleClass:{type:String,default:void 0},slideFullyVisibleClass:{type:String,default:void 0},slideBlankClass:{type:String,default:void 0},slideNextClass:{type:String,default:void 0},slidePrevClass:{type:String,default:void 0},wrapperClass:{type:String,default:void 0},lazyPreloaderClass:{type:String,default:void 0},lazyPreloadPrevNext:{type:Number,default:void 0},runCallbacksOnInit:{type:Boolean,default:void 0},observer:{type:Boolean,default:void 0},observeParents:{type:Boolean,default:void 0},observeSlideChildren:{type:Boolean,default:void 0},a11y:{type:[Boolean,Object],default:void 0},autoplay:{type:[Boolean,Object],default:void 0},controller:{type:Object,default:void 0},coverflowEffect:{type:Object,default:void 0},cubeEffect:{type:Object,default:void 0},fadeEffect:{type:Object,default:void 0},flipEffect:{type:Object,default:void 0},creativeEffect:{type:Object,default:void 0},cardsEffect:{type:Object,default:void 0},hashNavigation:{type:[Boolean,Object],default:void 0},history:{type:[Boolean,Object],default:void 0},keyboard:{type:[Boolean,Object],default:void 0},mousewheel:{type:[Boolean,Object],default:void 0},navigation:{type:[Boolean,Object],default:void 0},pagination:{type:[Boolean,Object],default:void 0},parallax:{type:[Boolean,Object],default:void 0},scrollbar:{type:[Boolean,Object],default:void 0},thumbs:{type:Object,default:void 0},virtual:{type:[Boolean,Object],default:void 0},zoom:{type:[Boolean,Object],default:void 0},grid:{type:Object,default:void 0},freeMode:{type:[Boolean,Object],default:void 0},enabled:{type:Boolean,default:void 0}},emits:SWIPER_EVENTS,setup(e,{slots:t,emit:n}){const{tag:a,wrapperTag:o}=e,r=vue.ref("swiper"),s=vue.ref(null),i=vue.ref(!1),l=vue.ref(!1),u=vue.ref(null),c=vue.shallowRef(null),d=vue.ref(null),v={value:[]},f={value:[]},p=vue.ref(null),m=vue.ref(null),_=vue.ref(null),h=vue.ref(null),{params:g,passedParams:b}=getParams(e,!1);getChildren(t,v,f),d.value=b,f.value=v.value;const C=()=>{getChildren(t,v,f),i.value=!0};g.onAny=($,...M)=>{n($,...M)},Object.assign(g.on,{_beforeBreakpoint:C,_containerClasses($,M){r.value=M}});const L={...g};delete L.wrapperClass,c.value=new Swiper$1(L);const I=c.value;if(I&&I.virtual&&I.params.virtual?.enabled){I.virtual.slides=v.value;const $={cache:!1,slides:v.value,renderExternal:M=>{s.value=M},renderExternalUpdate:!1};extend(I.params.virtual,$),I.originalParams.virtual&&extend(I.originalParams.virtual,$)}vue.onUpdated(()=>{!l.value&&c.value&&(c.value.emitSlidesClasses(),l.value=!0);const{passedParams:$}=getParams(e,!1),M=getChangedParams($,d.value,v.value,f.value,A=>A.props?A.props.key:void 0);d.value=$,(M.length||i.value)&&c.value&&!c.value.destroyed&&updateSwiper({swiper:c.value,slides:v.value,passedParams:$,changedParams:M,nextEl:p.value,prevEl:m.value,scrollbarEl:h.value,paginationEl:_.value}),i.value=!1}),vue.provide("swiper",c),vue.watch(s,()=>{vue.nextTick(()=>{updateOnVirtualData(c.value)})}),vue.onMounted(()=>{!u.value||!c.value||(mountSwiper({el:u.value,nextEl:p.value,prevEl:m.value,paginationEl:_.value,scrollbarEl:h.value,swiper:c.value},g),n("swiper",c.value))}),vue.onBeforeUnmount(()=>{c.value&&!c.value.destroyed&&c.value.destroy(!0,!1)});function T($){return g.virtual?renderVirtual(c,$,s.value):($.forEach((M,A)=>{const E=M.props??{};E.swiperRef=c,E.swiperSlideIndex=A,M.props=E}),$)}return()=>{const{slides:$,slots:M}=getChildren(t,v,f);return vue.h(a,{ref:u,class:uniqueClasses(r.value)},[M["container-start"],vue.h(o,{class:wrapperClass(g.wrapperClass)},[M["wrapper-start"],T($),M["wrapper-end"]]),needsNavigation(e)&&[vue.h("div",{ref:m,class:"swiper-button-prev"}),vue.h("div",{ref:p,class:"swiper-button-next"})],needsScrollbar(e)&&vue.h("div",{ref:h,class:"swiper-scrollbar"}),needsPagination(e)&&vue.h("div",{ref:_,class:"swiper-pagination"}),M["container-end"]])}}}),SwiperSlide=vue.defineComponent({name:"SwiperSlide",props:{tag:{type:String,default:"div"},swiperRef:{type:Object,required:!1},swiperSlideIndex:{type:Number,default:void 0,required:!1},zoom:{type:[Boolean,Number],default:void 0,required:!1},lazy:{type:Boolean,default:!1,required:!1},virtualIndex:{type:[String,Number],default:void 0}},setup(e,{slots:t}){let n=!1;const{swiperRef:a}=e,o=vue.ref(null),r=vue.ref("swiper-slide"),s=vue.ref(!1);function i(d,v,f){v===o.value&&(r.value=f)}vue.onMounted(()=>{!a||!a.value||(a.value.on("_slideClass",i),n=!0)}),vue.onBeforeUpdate(()=>{n||!a||!a.value||(a.value.on("_slideClass",i),n=!0)}),vue.onUpdated(()=>{!o.value||!a||!a.value||(typeof e.swiperSlideIndex<"u"&&(o.value.swiperSlideIndex=e.swiperSlideIndex),a.value.destroyed&&r.value!=="swiper-slide"&&(r.value="swiper-slide"))}),vue.onBeforeUnmount(()=>{!a||!a.value||a.value.off("_slideClass",i)});const l=vue.computed(()=>({isActive:r.value.indexOf("swiper-slide-active")>=0,isVisible:r.value.indexOf("swiper-slide-visible")>=0,isPrev:r.value.indexOf("swiper-slide-prev")>=0,isNext:r.value.indexOf("swiper-slide-next")>=0}));vue.provide("swiperSlide",l);const u=()=>{s.value=!0},c=d=>{const v=d.el;v&&(v.lazyPreloaderManaged=!0)};return()=>vue.h(e.tag,{class:uniqueClasses(`${r.value}`),ref:o,"data-swiper-slide-index":typeof e.virtualIndex>"u"&&a&&a.value&&a.value.params.loop?e.swiperSlideIndex:e.virtualIndex,onLoadCapture:u},e.zoom?vue.h("div",{class:"swiper-zoom-container","data-swiper-zoom":typeof e.zoom=="number"?e.zoom:void 0},[t.default&&t.default(l.value),e.lazy&&!s.value&&vue.h("div",{class:"swiper-lazy-preloader",onVnodeMounted:c})]):[t.default&&t.default(l.value),e.lazy&&!s.value&&vue.h("div",{class:"swiper-lazy-preloader",onVnodeMounted:c})])}});function createElementIfNotDefined(e,t,n,a){const o=n??{},r=t??{};return e.params.createElements&&Object.keys(a).forEach(s=>{if(!o[s]&&o.auto===!0){let i=elementChildren(e.el,`.${a[s]}`)[0];i||(i=createElement("div",a[s]),i.className=a[s],e.el.append(i)),o[s]=i,r[s]=i}}),o}const arrowSvg='<svg class="swiper-navigation-icon" width="11" height="20" viewBox="0 0 11 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.38296 20.0762C0.111788 19.805 0.111788 19.3654 0.38296 19.0942L9.19758 10.2796L0.38296 1.46497C0.111788 1.19379 0.111788 0.754138 0.38296 0.482966C0.654131 0.211794 1.09379 0.211794 1.36496 0.482966L10.4341 9.55214C10.8359 9.9539 10.8359 10.6053 10.4341 11.007L1.36496 20.0762C1.09379 20.3474 0.654131 20.3474 0.38296 20.0762Z" fill="currentColor"/></svg>',Navigation=({swiper:e,extendParams:t,on:n,emit:a})=>{t({navigation:{nextEl:null,prevEl:null,addIcons:!0,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock",navigationDisabledClass:"swiper-navigation-disabled"}}),e.navigation={nextEl:null,prevEl:null,arrowSvg};function o(){return e.params.navigation}function r(p){let m;return p&&typeof p=="string"&&e.isElement&&(m=e.el.querySelector(p)||e.hostEl.querySelector(p),m)?m:(p&&(typeof p=="string"&&(m=[...document.querySelectorAll(p)]),e.params.uniqueNavElements&&typeof p=="string"&&m&&m.length>1&&e.el.querySelectorAll(p).length===1?m=e.el.querySelector(p):m&&m.length===1&&(m=m[0])),p&&!m?p:m)}function s(p,m){const _=o();makeElementsArray(p).forEach(g=>{g&&(g.classList[m?"add":"remove"](..._.disabledClass.split(" ")),g.tagName==="BUTTON"&&(g.disabled=m),e.params.watchOverflow&&e.enabled&&g.classList[e.isLocked?"add":"remove"](_.lockClass))})}function i(){const{nextEl:p,prevEl:m}=e.navigation;if(e.params.loop){s(m,!1),s(p,!1);return}s(m,e.isBeginning&&!e.params.rewind),s(p,e.isEnd&&!e.params.rewind)}function l(p){p.preventDefault(),!(e.isBeginning&&!e.params.loop&&!e.params.rewind)&&(e.slidePrev(),a("navigationPrev"))}function u(p){p.preventDefault(),!(e.isEnd&&!e.params.loop&&!e.params.rewind)&&(e.slideNext(),a("navigationNext"))}function c(){e.params.navigation=createElementIfNotDefined(e,e.originalParams.navigation,e.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"});const p=o();if(!(p.nextEl||p.prevEl))return;const m=r(p.nextEl),_=r(p.prevEl);Object.assign(e.navigation,{nextEl:m,prevEl:_});const h=makeElementsArray(m),g=makeElementsArray(_),b=(C,L)=>{if(C){if(p.addIcons&&C.matches(".swiper-button-next,.swiper-button-prev")&&!C.querySelector("svg")){const I=document.createElement("div");setInnerHTML(I,arrowSvg);const T=I.querySelector("svg");T&&C.appendChild(T),I.remove()}C.addEventListener("click",L==="next"?u:l)}!e.enabled&&C&&C.classList.add(...p.lockClass.split(" "))};h.forEach(C=>b(C,"next")),g.forEach(C=>b(C,"prev"))}function d(){const p=o(),{nextEl:m,prevEl:_}=e.navigation,h=makeElementsArray(m),g=makeElementsArray(_),b=(C,L)=>{C.removeEventListener("click",L==="next"?u:l),C.classList.remove(...p.disabledClass.split(" "))};h.forEach(C=>b(C,"next")),g.forEach(C=>b(C,"prev"))}n("init",()=>{o().enabled===!1?f():(c(),i())}),n("toEdge fromEdge lock unlock",()=>{i()}),n("destroy",()=>{d()}),n("enable disable",()=>{const p=o(),{nextEl:m,prevEl:_}=e.navigation,h=makeElementsArray(m),g=makeElementsArray(_);if(e.enabled){i();return}[...h,...g].filter(b=>!!b).forEach(b=>b.classList.add(p.lockClass))}),n("click",(p,m)=>{const _=o(),{nextEl:h,prevEl:g}=e.navigation,b=makeElementsArray(h),C=makeElementsArray(g),L=m.target;let I=C.includes(L)||b.includes(L);if(e.isElement&&!I){const T=m.composedPath?m.composedPath():[];T.length&&(I=T.find($=>b.includes($)||C.includes($)))}if(_.hideOnClick&&!I){if(e.pagination&&e.params.pagination&&e.params.pagination.clickable&&(e.pagination.el===L||e.pagination.el.contains(L)))return;let T;b.length?T=b[0].classList.contains(_.hiddenClass):C.length&&(T=C[0].classList.contains(_.hiddenClass)),a(T===!0?"navigationShow":"navigationHide"),[...b,...C].filter($=>!!$).forEach($=>$.classList.toggle(_.hiddenClass))}});const v=()=>{const p=o();e.el.classList.remove(...p.navigationDisabledClass.split(" ")),c(),i()},f=()=>{const p=o();e.el.classList.add(...p.navigationDisabledClass.split(" ")),d()};Object.assign(e.navigation,{enable:v,disable:f,update:i,init:c,destroy:d})};function classesToSelector(e=""){return`.${e.trim().replace(/([.:!+/()[\]#>~*^$|=,'"@{}\\])/g,"\\$1").replace(/ /g,".")}`}const Scrollbar=({swiper:e,extendParams:t,on:n,emit:a})=>{let o=!1,r=null,s=null,i=0,l=0,u=0,c=0;t({scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag",scrollbarDisabledClass:"swiper-scrollbar-disabled",horizontalClass:"swiper-scrollbar-horizontal",verticalClass:"swiper-scrollbar-vertical"}}),e.scrollbar={el:null,dragEl:null};function d(){return e.params.scrollbar}function v(){const E=d();if(!E.el||!e.scrollbar.el)return;const{scrollbar:D,rtlTranslate:S}=e,{dragEl:B,el:O}=D,w=e.params.loop?e.progressLoop??0:e.progress;let V=l,k=(u-l)*w;S?(k=-k,k>0?(V=l-k,k=0):-k+l>u&&(V=u+k)):k<0?(V=l+k,k=0):k+l>u&&(V=u-k),e.isHorizontal()?(B.style.transform=`translate3d(${k}px, 0, 0)`,B.style.width=`${V}px`):(B.style.transform=`translate3d(0px, ${k}px, 0)`,B.style.height=`${V}px`),E.hide&&(r&&clearTimeout(r),O.style.opacity="1",r=setTimeout(()=>{O.style.opacity="0",O.style.transitionDuration="400ms"},1e3))}function f(E){!d().el||!e.scrollbar.el||(e.scrollbar.dragEl.style.transitionDuration=`${E}ms`)}function p(){const E=d();if(!E.el||!e.scrollbar.el)return;const{scrollbar:D}=e,{dragEl:S,el:B}=D;S.style.width="",S.style.height="",u=e.isHorizontal()?B.offsetWidth:B.offsetHeight,c=e.size/(e.virtualSize+(e.params.slidesOffsetBefore??0)-(e.params.centeredSlides?e.snapGrid[0]:0)),E.dragSize==="auto"?l=u*c:l=parseInt(String(E.dragSize),10),e.isHorizontal()?S.style.width=`${l}px`:S.style.height=`${l}px`,c>=1?B.style.display="none":B.style.display="",E.hide&&(B.style.opacity="0"),e.params.watchOverflow&&e.enabled&&D.el.classList[e.isLocked?"add":"remove"](E.lockClass)}function m(E){return e.isHorizontal()?E.clientX??E.touches?.[0]?.clientX??0:E.clientY??E.touches?.[0]?.clientY??0}function _(E){const{scrollbar:D,rtlTranslate:S}=e,{el:B}=D;let O;O=(m(E)-elementOffset(B)[e.isHorizontal()?"left":"top"]-(i!==null?i:l/2))/(u-l),O=Math.max(Math.min(O,1),0),S&&(O=1-O);const w=e.minTranslate()+(e.maxTranslate()-e.minTranslate())*O;e.updateProgress(w),e.setTranslate(w),e.updateActiveIndex(),e.updateSlidesClasses()}function h(E){const D=d(),{scrollbar:S,wrapperEl:B}=e,{el:O,dragEl:w}=S;o=!0,i=E.target===w?m(E)-E.target.getBoundingClientRect()[e.isHorizontal()?"left":"top"]:null,E.preventDefault(),E.stopPropagation(),B.style.transitionDuration="100ms",w.style.transitionDuration="100ms",_(E),s&&clearTimeout(s),O.style.transitionDuration="0ms",D.hide&&(O.style.opacity="1"),e.params.cssMode&&(e.wrapperEl.style.scrollSnapType="none"),a("scrollbarDragStart",E)}function g(E){const{scrollbar:D,wrapperEl:S}=e,{el:B,dragEl:O}=D;o&&(E.cancelable&&E.preventDefault(),_(E),S.style.transitionDuration="0ms",B.style.transitionDuration="0ms",O.style.transitionDuration="0ms",a("scrollbarDragMove",E))}function b(E){const D=d(),{scrollbar:S,wrapperEl:B}=e,{el:O}=S;o&&(o=!1,e.params.cssMode&&(e.wrapperEl.style.scrollSnapType="",B.style.transitionDuration=""),D.hide&&(s&&clearTimeout(s),s=nextTick(()=>{O.style.opacity="0",O.style.transitionDuration="400ms"},1e3)),a("scrollbarDragEnd",E),D.snapOnRelease&&e.slideToClosest())}function C(E){const{scrollbar:D,params:S}=e,B=D.el;if(!B)return;const O=S.passiveListeners?{passive:!1,capture:!1}:!1,w=S.passiveListeners?{passive:!0,capture:!1}:!1,V=E==="on"?"addEventListener":"removeEventListener";B[V]("pointerdown",h,O),document[V]("pointermove",g,O),document[V]("pointerup",b,w)}function L(){!d().el||!e.scrollbar.el||C("on")}function I(){!d().el||!e.scrollbar.el||C("off")}function T(){const{scrollbar:E,el:D}=e;e.params.scrollbar=createElementIfNotDefined(e,e.originalParams.scrollbar,e.params.scrollbar,{el:"swiper-scrollbar"});const S=d();if(!S.el)return;let B;if(typeof S.el=="string"&&e.isElement&&(B=e.el.querySelector(S.el)),!B&&typeof S.el=="string"){if(B=document.querySelectorAll(S.el),!B.length)return}else B||(B=S.el);e.params.uniqueNavElements&&typeof S.el=="string"&&B.length>1&&D.querySelectorAll(S.el).length===1&&(B=D.querySelector(S.el)),B.length>0&&(B=B[0]);const O=B;O.classList.add(e.isHorizontal()?S.horizontalClass:S.verticalClass);let w=null;O&&(w=O.querySelector(classesToSelector(S.dragClass)),w||(w=createElement("div",S.dragClass),O.append(w))),Object.assign(E,{el:O,dragEl:w}),S.draggable&&L(),O&&O.classList[e.enabled?"remove":"add"](...classesToTokens(S.lockClass))}function $(){const E=d(),D=e.scrollbar.el;D&&D.classList.remove(...classesToTokens(e.isHorizontal()?E.horizontalClass:E.verticalClass)),I()}n("changeDirection",()=>{if(!e.scrollbar||!e.scrollbar.el)return;const E=d();makeElementsArray(e.scrollbar.el).forEach(S=>{S.classList.remove(E.horizontalClass,E.verticalClass),S.classList.add(e.isHorizontal()?E.horizontalClass:E.verticalClass)})}),n("init",()=>{d().enabled===!1?A():(T(),p(),v())}),n("update resize observerUpdate lock unlock changeDirection",()=>{p()}),n("setTranslate",()=>{v()}),n("setTransition",(E,D)=>{f(D)}),n("enable disable",()=>{const{el:E}=e.scrollbar;E&&E.classList[e.enabled?"remove":"add"](...classesToTokens(d().lockClass))}),n("destroy",()=>{$()});const M=()=>{const E=d();e.el.classList.remove(...classesToTokens(E.scrollbarDisabledClass)),e.scrollbar.el&&e.scrollbar.el.classList.remove(...classesToTokens(E.scrollbarDisabledClass)),T(),p(),v()},A=()=>{const E=d();e.el.classList.add(...classesToTokens(E.scrollbarDisabledClass)),e.scrollbar.el&&e.scrollbar.el.classList.add(...classesToTokens(E.scrollbarDisabledClass)),$()};Object.assign(e.scrollbar,{enable:M,disable:A,updateSize:p,setTranslate:v,init:T,destroy:$})},isVirtualEnabled=e=>!!e.virtual&&!!e.params.virtual?.enabled,A11y=({swiper:e,extendParams:t,on:n})=>{t({a11y:{enabled:!0,notificationClass:"swiper-notification",prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide",firstSlideMessage:"This is the first slide",lastSlideMessage:"This is the last slide",paginationBulletMessage:"Go to slide {{index}}",slideLabelMessage:"{{index}} / {{slidesLength}}",containerMessage:null,containerRoleDescriptionMessage:null,containerRole:null,itemRoleDescriptionMessage:null,slideRole:"group",id:null,scrollOnFocus:!0,wrapperLiveRegion:!0}}),e.a11y={clicked:!1};let a=null,o=!1,r,s=new Date().getTime();function i(){return e.params.a11y}function l(w){const V=a;!V||!w||setInnerHTML(V,w)}function u(w=16){const V=()=>Math.round(16*Math.random()).toString(16);return"x".repeat(w).replace(/x/g,V)}function c(w){makeElementsArray(w).forEach(k=>{k.setAttribute("tabIndex","0")})}function d(w){makeElementsArray(w).forEach(k=>{k.setAttribute("tabIndex","-1")})}function v(w,V){makeElementsArray(w).forEach(N=>{N.setAttribute("role",V)})}function f(w,V){makeElementsArray(w).forEach(N=>{N.setAttribute("aria-roledescription",V)})}function p(w,V){makeElementsArray(w).forEach(N=>{N.setAttribute("aria-label",V)})}function m(w,V){makeElementsArray(w).forEach(N=>{N.setAttribute("id",V)})}function _(w,V){makeElementsArray(w).forEach(N=>{N.setAttribute("aria-live",V)})}function h(w){makeElementsArray(w).forEach(k=>{k.setAttribute("aria-disabled","true")})}function g(w){makeElementsArray(w).forEach(k=>{k.removeAttribute("aria-disabled")})}function b(w){if(w.keyCode!==13&&w.keyCode!==32)return;const V=i(),k=e.params.pagination,N=w.target;if(!(e.pagination&&e.pagination.el&&(N===e.pagination.el||e.pagination.el.contains(N))&&!N.matches(classesToSelector(k?.bulletClass)))){if(e.navigation&&e.navigation.prevEl&&e.navigation.nextEl){const P=makeElementsArray(e.navigation.prevEl);makeElementsArray(e.navigation.nextEl).includes(N)&&(e.isEnd&&!e.params.loop||e.slideNext(),e.isEnd?l(V.lastSlideMessage):l(V.nextSlideMessage)),P.includes(N)&&(e.isBeginning&&!e.params.loop||e.slidePrev(),e.isBeginning?l(V.firstSlideMessage):l(V.prevSlideMessage))}e.pagination&&N.matches(classesToSelector(k?.bulletClass))&&N.click()}}function C(){if(e.params.loop||e.params.rewind||!e.navigation)return;const{nextEl:w,prevEl:V}=e.navigation;V&&(e.isBeginning?(h(V),d(V)):(g(V),c(V))),w&&(e.isEnd?(h(w),d(w)):(g(w),c(w)))}function L(){return!!(e.pagination&&e.pagination.bullets&&e.pagination.bullets.length)}function I(){const w=e.params.pagination;return L()&&!!w?.clickable}function T(){const w=i();if(!L())return;const V=e.params.pagination;e.pagination.bullets.forEach(k=>{V.clickable&&(c(k),V.renderBullet||(v(k,"button"),p(k,w.paginationBulletMessage.replace(/\{\{index\}\}/,String((elementIndex(k)??0)+1))))),k.matches(classesToSelector(V.bulletActiveClass))?k.setAttribute("aria-current","true"):k.removeAttribute("aria-current")})}const $=(w,V,k)=>{c(w),w.tagName!=="BUTTON"&&(v(w,"button"),w.addEventListener("keydown",b)),p(w,k)},M=w=>{r&&r!==w.target&&!r.contains(w.target)&&(o=!0),e.a11y.clicked=!0},A=()=>{o=!1,requestAnimationFrame(()=>{requestAnimationFrame(()=>{e.destroyed||(e.a11y.clicked=!1)})})},E=w=>{s=new Date().getTime()},D=w=>{const V=i();if(e.a11y.clicked||!V.scrollOnFocus||new Date().getTime()-s<100)return;const N=w.target.closest(`.${e.params.slideClass}, swiper-slide`);if(!N||!e.slides.includes(N))return;r=N;const P=isVirtualEnabled(e),F=(P?parseInt(N.getAttribute("data-swiper-slide-index")||"0",10):e.slides.indexOf(N))===e.activeIndex,R=e.params.watchSlidesProgress&&e.visibleSlides&&e.visibleSlides.includes(N);if(F||R)return;const H=w.sourceCapabilities;H&&H.firesTouchEvents||(e.isHorizontal()?e.el.scrollLeft=0:e.el.scrollTop=0,requestAnimationFrame(()=>{o||(e.params.loop?e.slideToLoop(e.getSlideIndexWhenGrid(parseInt(N.getAttribute("data-swiper-slide-index")||"0",10)),0):P?e.slideTo(e.getSlideIndexWhenGrid(parseInt(N.getAttribute("data-swiper-slide-index")||"0",10)),0):e.slideTo(e.getSlideIndexWhenGrid(e.slides.indexOf(N)),0),o=!1)}))},S=()=>{const w=i();w.itemRoleDescriptionMessage&&f(e.slides,w.itemRoleDescriptionMessage),w.slideRole&&v(e.slides,w.slideRole);const V=e.slides.length,k=w.slideLabelMessage;k&&e.slides.forEach((N,P)=>{const F=e.params.loop?parseInt(N.getAttribute("data-swiper-slide-index")||"0",10):P,R=k.replace(/\{\{index\}\}/,String(F+1)).replace(/\{\{slidesLength\}\}/,String(V));p(N,R)})},B=()=>{const w=i();a&&e.el.append(a);const V=e.el;w.containerRoleDescriptionMessage&&f(V,w.containerRoleDescriptionMessage),w.containerMessage&&p(V,w.containerMessage),w.containerRole&&v(V,w.containerRole);const k=e.wrapperEl,N=String(w.id||k.getAttribute("id")||`swiper-wrapper-${u(16)}`);if(m(k,N),w.wrapperLiveRegion){const H=e.params.autoplay,j=e.params.autoplay&&H?.enabled?"off":"polite";_(k,j)}S();const P=e.navigation?e.navigation:{nextEl:void 0,prevEl:void 0},F=makeElementsArray(P.nextEl),R=makeElementsArray(P.prevEl);F&&F.forEach(H=>$(H,N,w.nextSlideMessage)),R&&R.forEach(H=>$(H,N,w.prevSlideMessage)),I()&&makeElementsArray(e.pagination.el).forEach(j=>{j.addEventListener("keydown",b)}),document.addEventListener("visibilitychange",E),e.el.addEventListener("focus",D,!0),e.el.addEventListener("pointerdown",M,!0),e.el.addEventListener("pointerup",A,!0)};function O(){a&&a.remove();const w=e.navigation?e.navigation:{nextEl:void 0,prevEl:void 0},V=makeElementsArray(w.nextEl),k=makeElementsArray(w.prevEl);V&&V.forEach(N=>N.removeEventListener("keydown",b)),k&&k.forEach(N=>N.removeEventListener("keydown",b)),I()&&makeElementsArray(e.pagination.el).forEach(P=>{P.removeEventListener("keydown",b)}),document.removeEventListener("visibilitychange",E),e.el&&typeof e.el!="string"&&(e.el.removeEventListener("focus",D,!0),e.el.removeEventListener("pointerdown",M,!0),e.el.removeEventListener("pointerup",A,!0))}n("beforeInit",()=>{a=createElement("span",i().notificationClass),a.setAttribute("aria-live","assertive"),a.setAttribute("aria-atomic","true")}),n("afterInit",()=>{i().enabled&&B()}),n("slidesLengthChange snapGridLengthChange slidesGridLengthChange",()=>{i().enabled&&S()}),n("fromEdge toEdge afterInit lock unlock",()=>{i().enabled&&C()}),n("paginationUpdate",()=>{i().enabled&&T()}),n("destroy",()=>{i().enabled&&O()})},_sfc_main$1V={name:"VsContentSwiper",status:"prototype",release:"0.0.1",components:{Swiper,VsButton:LoadingSpinner.VsButton},props:{previousButtonLabel:{type:String,required:!0},nextButtonLabel:{type:String,required:!0},contained:{type:Boolean,default:!1},slidesPerViewXs:{type:Number,default:1.2},slidesPerViewSm:{type:Number,default:null},slidesPerViewMd:{type:Number,default:null},slidesPerViewLg:{type:Number,default:null},slidesPerViewXl:{type:Number,default:null},slidesPerViewXxl:{type:Number,default:null},slidesPerViewXxxl:{type:Number,default:null}},setup(){return{instanceId:vue.useId()}},data(){return{modules:[Navigation,Scrollbar,A11y],isInteracting:!1,scrollbarEl:null}},computed:{contentSwiperClasses(){return{"is-interacting":this.isInteracting,"vs-content-swiper--contained":this.contained}},scrollbarContainerClasses(){return["vs-content-swiper__scrollbar-container",`vs-content-swiper__scrollbar-${this.instanceId}`]},swiperNavigation(){return{prevEl:`.vs-content-swiper-prev-${this.instanceId}`,nextEl:`.vs-content-swiper-next-${this.instanceId}`}},swiperScrollbar(){return{el:this.scrollbarEl,draggable:!1}},swiperA11y(){return{scrollOnFocus:!0,slideLabelMessage:"Slide {{index}} of {{slidesLength}}"}},swiperBreakpoints(){const e={0:this.slidesPerViewXs,576:this.slidesPerViewSm,768:this.slidesPerViewMd,992:this.slidesPerViewLg,1200:this.slidesPerViewXl,1400:this.slidesPerViewXxl,1680:this.slidesPerViewXxxl};let t=null;const n={};return Object.entries(e).forEach(([a,o])=>{o!==null&&(t=o),t!==null&&(n[a]={slidesPerView:t})}),n}},mounted(){this.scrollbarEl=this.$refs.scrollbar},beforeUnmount(){clearTimeout(this._interactionTimer)},methods:{startInteraction(){clearTimeout(this._interactionTimer),this.isInteracting=!0},endInteraction(){clearTimeout(this._interactionTimer),this._interactionTimer=setTimeout(()=>{this.isInteracting=!1},400)},handleSlideChange(e){const t=`.vs-content-swiper-next-${this.instanceId}`,n=`.vs-content-swiper-prev-${this.instanceId}`;if(e.isEnd){const a=this.$el.querySelector(t);a&&(document.activeElement===a||a.contains(document.activeElement))&&this.$el.querySelector(n)?.focus()}else if(e.isBeginning){const a=this.$el.querySelector(n);a&&(document.activeElement===a||a.contains(document.activeElement))&&this.$el.querySelector(t)?.focus()}}}},_hoisted_1$1r=["id"],_hoisted_2$$={class:"vs-content-swiper__inner"},_hoisted_3$O={class:"vs-content-swiper__header"},_hoisted_4$y={class:"vs-content-swiper__controls"};function _sfc_render$1C(e,t,n,a,o,r){const s=vue.resolveComponent("VsButton"),i=vue.resolveComponent("Swiper");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-content-swiper",r.contentSwiperClasses]),id:`vs-content-swiper-${a.instanceId}`},[vue.createElementVNode("div",_hoisted_2$$,[vue.createElementVNode("div",_hoisted_3$O,[vue.createElementVNode("div",{ref:"scrollbar",class:vue.normalizeClass(r.scrollbarContainerClasses)},null,2),vue.createElementVNode("div",_hoisted_4$y,[vue.createVNode(s,{"icon-only":"",class:vue.normalizeClass(["vs-content-swiper__control--prev",`vs-content-swiper-prev-${a.instanceId}`]),icon:"vs-icon-control-previous",variant:"secondary"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(n.previousButtonLabel),1)]),_:1},8,["class"]),vue.createVNode(s,{"icon-only":"",class:vue.normalizeClass(["vs-content-swiper__control--next",`vs-content-swiper-next-${a.instanceId}`]),icon:"vs-icon-control-next",variant:"secondary"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(n.nextButtonLabel),1)]),_:1},8,["class"])])]),vue.createVNode(i,{modules:o.modules,"space-between":24,navigation:r.swiperNavigation,scrollbar:r.swiperScrollbar,breakpoints:r.swiperBreakpoints,a11y:r.swiperA11y,onTouchStart:r.startInteraction,onTouchEnd:r.endInteraction,onSliderMove:r.startInteraction,onSlideChangeTransitionStart:r.startInteraction,onSlideChangeTransitionEnd:r.endInteraction,onSlideChange:r.handleSlideChange},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},8,["modules","navigation","scrollbar","breakpoints","a11y","onTouchStart","onTouchEnd","onSliderMove","onSlideChangeTransitionStart","onSlideChangeTransitionEnd","onSlideChange"])])],10,_hoisted_1$1r)}const ContentSwiper=LoadingSpinner._export_sfc(_sfc_main$1V,[["render",_sfc_render$1C]]),_sfc_main$1U={name:"VsCheckbox",status:"prototype",release:"0.0.1",components:{BFormCheckbox:LoadingSpinner.BFormCheckbox_default},mixins:[validateFormElementMixin,ariaDescriptionMixin],props:{fieldName:{type:String,required:!0},value:{type:String,default:""},label:{type:String,required:!0},validationRules:{type:Object,default(){return{}}},triggerValidate:{type:Boolean,default:!1},validationMessages:{type:Object,default(){return{}}},invalid:{type:Boolean,default:!1},genericValidation:{type:Object,default(){return{}}},hintText:{type:String,default:""},infoText:{type:String,default:""},reAlertErrors:{type:Boolean,default:!1},size:{type:String,default:void 0,validator:e=>e.match(/(sm|md|lg)/)}},setup:()=>({v$:useVuelidate()}),data(){return{inputVal:"",errors:[]}},computed:{checkBoxClasses(){return{"vs-checkbox":!0,"vs-checkbox--error":this.isInvalid,"vs-checkbox--small":this.size==="sm"}}},watch:{value(e){this.inputVal=e},triggerValidate(){this.v$.$touch(),this.manualValidate()}},validations(){return this.rules}},_hoisted_1$1q=["id"],_hoisted_2$_=["innerHTML"],_hoisted_3$N=["id"],_hoisted_4$x={class:"visually-hidden"},_hoisted_5$p={class:"vs-checkbox__label"};function _sfc_render$1B(e,t,n,a,o,r){const s=vue.resolveComponent("BFormCheckbox");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(r.checkBoxClasses)},[vue.createElementVNode("p",{class:"hint-text",id:`hint-${n.fieldName}`},vue.toDisplayString(n.hintText),9,_hoisted_1$1q),n.infoText!==""?(vue.openBlock(),vue.createElementBlock("div",{key:0,innerHTML:n.infoText},null,8,_hoisted_2$_)):vue.createCommentVNode("",!0),e.errorsList.length||n.invalid?(vue.openBlock(),vue.createElementBlock("div",{key:1,role:"alert","aria-live":"assertive",id:`error-${n.fieldName}`},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.errorsList,i=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("p",{key:i,class:"error mb-0"},[vue.createElementVNode("span",_hoisted_4$x,vue.toDisplayString(n.fieldName),1),vue.createTextVNode(" "+vue.toDisplayString(n.validationMessages[i]||n.genericValidation[i]),1)])),[[vue.vShow,!n.reAlertErrors]])),128))],8,_hoisted_3$N)):vue.createCommentVNode("",!0),n.fieldName?(vue.openBlock(),vue.createBlock(s,vue.mergeProps({key:2,modelValue:o.inputVal,"onUpdate:modelValue":t[0]||(t[0]=i=>o.inputVal=i),class:"me-100",name:n.fieldName,id:n.fieldName,value:n.value,unchecked_value:`not_${n.value}`},e.$attrs,{"data-test":"vs-checkbox",onBlur:e.emitStatus,onChange:e.emitStatus,required:e.isRequired,"aria-invalid":e.v$.inputVal&&e.v$.inputVal.$anyError||n.invalid,"aria-describedby":e.ariaDescription}),{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_5$p,vue.toDisplayString(n.label),1)]),_:1},16,["modelValue","name","id","value","unchecked_value","onBlur","onChange","required","aria-invalid","aria-describedby"])):vue.createCommentVNode("",!0)],2)}const VsCheckbox=LoadingSpinner._export_sfc(_sfc_main$1U,[["render",_sfc_render$1B]]),_sfc_main$1T={name:"VsDescriptionList",status:"deprecated",release:"0.0.1",provide(){return{inline:vue.computed(()=>this.inline)}},props:{inline:{type:Boolean,default:!1}}};function _sfc_render$1A(e,t,n,a,o,r){return vue.openBlock(),vue.createElementBlock("dl",{class:vue.normalizeClass(["vs-description-list",{"list-inline":n.inline}])},[vue.renderSlot(e.$slots,"default")],2)}const DescriptionList=LoadingSpinner._export_sfc(_sfc_main$1T,[["render",_sfc_render$1A]]),_sfc_main$1S={name:"VsDescriptionListItem",status:"prototype",release:"0.0.1",components:{VsCol:LoadingSpinner.VsCol},inject:["inline"],props:{title:{type:Boolean,default:!1}}};function _sfc_render$1z(e,t,n,a,o,r){const s=vue.resolveComponent("VsCol");return vue.openBlock(),vue.createBlock(s,{tag:n.title?"dt":"dd",class:vue.normalizeClass({"list-inline-item":r.inline,"vs-description-list__detail":!n.title,"vs-description-list__detail--styled":!r.inline&&!n.title,"vs-description-list__term":n.title,"vs-description-list__term--styled":!r.inline&&n.title})},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default",{},void 0,!0)]),_:3},8,["tag","class"])}const DescriptionListItem=LoadingSpinner._export_sfc(_sfc_main$1S,[["render",_sfc_render$1z],["__scopeId","data-v-46cd5138"]]),_sfc_main$1R={name:"VsDetail",status:"prototype",release:"0.0.1",components:{VsIcon:LoadingSpinner.VsIcon},props:{size:{type:String,default:"medium",validator:e=>e.match(/(small|medium|large)/)},color:{type:String,default:"primary",validator:e=>e.match(/(primary|secondary|tertiary)/)},noMargins:{type:Boolean,default:!1},icon:{type:String,default:""},iconVariant:{type:String,default:"primary",validator:e=>e.match(/(primary|secondary|tertiary|cta|inverse|disabled|highlight|error|warning|success)/)}},computed:{detailClasses(){return["vs-detail",`vs-detail--${this.size}`,`vs-detail--${this.color}`,...this.icon?["d-flex","align-items-baseline"]:[],...this.noMargins?[]:["vs-detail--with-margins"]]},iconSize(){return this.size==="small"?"xxs":"xs"}}};function _sfc_render$1y(e,t,n,a,o,r){const s=vue.resolveComponent("VsIcon");return vue.openBlock(),vue.createElementBlock("p",{class:vue.normalizeClass(r.detailClasses)},[n.icon?(vue.openBlock(),vue.createBlock(s,{key:0,class:"me-050 flex-shrink-0",icon:n.icon,size:r.iconSize,variant:n.iconVariant},null,8,["icon","size","variant"])):vue.createCommentVNode("",!0),vue.createElementVNode("span",null,[vue.renderSlot(e.$slots,"default")])],2)}const VsDetail=LoadingSpinner._export_sfc(_sfc_main$1R,[["render",_sfc_render$1y]]),_sfc_main$1Q={name:"VsDropdown",status:"prototype",release:"0.0.1",components:{BDropdown:BDropdown_default},props:{text:{type:String,default:""},variant:{type:String,default:"primary",validator:e=>e.match(/(primary|secondary)/)}},computed:{nonButtonContentSlots(){return Object.fromEntries(Object.entries(this.$slots).filter(([e])=>e!=="button-content"))}}},_hoisted_1$1p={class:"dropdown-menu overflow-auto",role:"menu"};function _sfc_render$1x(e,t,n,a,o,r){const s=vue.resolveComponent("BDropdown");return vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.createVNode(s,vue.mergeProps(e.$attrs,{variant:n.variant,class:"vs-dropdown"}),vue.createSlots({"button-content":vue.withCtx(()=>[vue.renderSlot(e.$slots,"button-content",{},()=>[vue.createTextVNode(vue.toDisplayString(n.text),1)])]),default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:2},[vue.renderList(r.nonButtonContentSlots,(i,l)=>({name:l,fn:vue.withCtx(()=>[vue.renderSlot(e.$slots,l)])}))]),1040,["variant"]),vue.createElementVNode("div",{class:vue.normalizeClass([e.$attrs.class,"dropdown vs-dropdown vs-dropdown--fallback"])},[vue.createElementVNode("ul",_hoisted_1$1p,[vue.renderSlot(e.$slots,"default")])],2)],64)}const VsDropdown=LoadingSpinner._export_sfc(_sfc_main$1Q,[["render",_sfc_render$1x]]),_sfc_main$1P={name:"VsDropdownItem",status:"prototype",release:"0.0.1",components:{BDropdownItem:BDropdownItem_default}};function _sfc_render$1w(e,t,n,a,o,r){const s=vue.resolveComponent("BDropdownItem");return vue.openBlock(),vue.createBlock(s,vue.mergeProps(e.$attrs,{role:"menuitem"}),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16)}const VsDropdownItem=LoadingSpinner._export_sfc(_sfc_main$1P,[["render",_sfc_render$1w]]),cookieValues$3=cookieValues$5.embed,_sfc_main$1O={name:"VsEmbedWrapper",status:"prototype",release:"0.0.1",components:{VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol,VsBody:LoadingSpinner.VsBody,VsWarning:LoadingSpinner.VsWarning},mixins:[cookieCheckerMixin],props:{noCookiesRequired:{type:Boolean,default:!1},noCookieText:{type:String,required:!0},errorText:{type:String,required:!0},noJsText:{type:String,required:!0},extraContent:{type:String,default:""},embeddedScript:{type:String,default:""}},data(){return{requiredCookies:this.noCookiesRequired?null:cookieValues$3}},computed:{showError(){return this.noCookiesRequired?!1:!this.cookiesAllowed&&this.cookiesLoaded===!0||!this.cookiesLoaded},warningText(){let e="";return this.cookiesLoaded||(e=this.errorText),!this.cookiesAllowed&&this.cookiesLoaded===!0&&(e=this.noCookieText),e}},mounted(){this.embeddedScript&&this.noCookiesRequired&&this.loadScript()},methods:{loadScript(){const e=document.createElement("script");e.src=this.embeddedScript,document.head.appendChild(e)},callbackOnUpdated(){this.embeddedScript&&this.cookiesLoaded&&this.requiredCookiesAllowed&&this.loadScript()}}},_hoisted_1$1o={"data-test":"vs-embed-wrapper",class:"vs-embed-wrapper"},_hoisted_2$Z={class:"vs-embed-wrapper__container",key:"embeddedContent"},_hoisted_3$M={key:"fallback"},_hoisted_4$w=["innerHTML"];function _sfc_render$1v(e,t,n,a,o,r){const s=vue.resolveComponent("VsBody"),i=vue.resolveComponent("VsCol"),l=vue.resolveComponent("VsWarning"),u=vue.resolveComponent("VsRow"),c=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1o,[vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.createVNode(u,null,{default:vue.withCtx(()=>[vue.createVNode(i,{cols:"12",sm:"10","offset-sm":"1",md:"6","offset-md":"3"},{default:vue.withCtx(()=>[e.$slots["embed-intro-copy"]&&e.$slots["embed-intro-copy"]()&&!r.showError?(vue.openBlock(),vue.createBlock(s,{key:0,class:"vs-module-wrapper__intro vs-embed-wrapper__intro","data-test":"vs-module-wrapper__intro"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"embed-intro-copy")]),_:3})):vue.createCommentVNode("",!0)]),_:3}),vue.createVNode(i,{cols:"12"},{default:vue.withCtx(()=>[e.cookiesAllowed||n.noCookiesRequired?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$Z,[vue.renderSlot(e.$slots,"embed-widget")])):vue.createCommentVNode("",!0),r.showError?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$M,[vue.createVNode(l,{type:e.cookiesLoaded===!0?"cookie":"normal",class:"vs-embed-wrapper__error","data-test":"vs-embed-wrapper__error"},vue.createSlots({default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.warningText)+" ",1)]),_:2},[n.extraContent?{name:"extra-content",fn:vue.withCtx(()=>[vue.createElementVNode("div",{innerHTML:n.extraContent},null,8,_hoisted_4$w)]),key:"0"}:void 0,!e.cookiesAllowed&&e.cookiesLoaded===!0?{name:"button-text",fn:vue.withCtx(()=>[vue.renderSlot(e.$slots,"embed-button-text")]),key:"1"}:void 0]),1032,["type"])])):vue.createCommentVNode("",!0),vue.createVNode(l,{type:"normal","data-test":"vs-embed-wrapper__error--no-js",class:"vs-embed-wrapper__error vs-embed-wrapper__error--no-js"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(n.noJsText),1)]),_:1})]),_:3})]),_:3})]),_:3})])}const EmbedWrapper=LoadingSpinner._export_sfc(_sfc_main$1O,[["render",_sfc_render$1v]]),_sfc_main$1N={name:"VsEventCard",status:"deprecated",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,VsButton:LoadingSpinner.VsButton,VsCol:LoadingSpinner.VsCol,VsRow:LoadingSpinner.VsRow},props:{ctaHref:{type:String,default:"#"},ctaLabel:{type:String,default:""},ctaIcon:{type:String,default:""}}},_hoisted_1$1n={class:"card vs-event-card","data-test":"vs-event-card"},_hoisted_2$Y={class:"card-body"},_hoisted_3$L={class:"vs-event-card__date"},_hoisted_4$v={key:0,class:"vs-event-card__content","data-test":"vs-event-card__content"},_hoisted_5$o={key:1,class:"vs-event-card__cta","data-test":"vs-event-card__cta"};function _sfc_render$1u(e,t,n,a,o,r){const s=vue.resolveComponent("VsHeading"),i=vue.resolveComponent("VsCol"),l=vue.resolveComponent("VsRow"),u=vue.resolveComponent("VsButton");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1n,[vue.createElementVNode("div",_hoisted_2$Y,[vue.createVNode(l,{class:"vs-event-card__header"},{default:vue.withCtx(()=>[vue.createVNode(i,{sm:"12",md:"9",class:"p-0"},{default:vue.withCtx(()=>[vue.createVNode(s,{class:"vs-event-card__heading","heading-style":"heading-xs",level:"3","data-test":"vs-event-card__heading"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"event-card-header")]),_:3})]),_:3}),e.$slots["event-card-date"]?(vue.openBlock(),vue.createBlock(i,{key:0,sm:"12",md:"3",class:"my-auto p-0","data-test":"vs-event-card__date"},{default:vue.withCtx(()=>[vue.createElementVNode("p",_hoisted_3$L,[vue.renderSlot(e.$slots,"event-card-date")])]),_:3})):vue.createCommentVNode("",!0)]),_:3}),e.$slots["event-card-content"]?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$v,[vue.renderSlot(e.$slots,"event-card-content")])):vue.createCommentVNode("",!0),n.ctaHref&&n.ctaLabel?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$o,[vue.createVNode(u,{href:n.ctaHref,icon:n.ctaIcon,"icon-position":"right","data-test":"vs-event-card__cta"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(n.ctaLabel),1)]),_:1},8,["href","icon"])])):vue.createCommentVNode("",!0)])])}const EventCard=LoadingSpinner._export_sfc(_sfc_main$1N,[["render",_sfc_render$1u]]),_hoisted_1$1m=["id"],_hoisted_2$X={class:"vs-filter__panel-wrapper"},_hoisted_3$K={class:"vs-filter__legend"},_sfc_main$1M={__name:"VsFilter",props:{filterId:{type:String,required:!0},filterLabel:{type:String,required:!0}},emits:["filter-updated"],setup(e,{expose:t}){const n=e,a=vue.ref(),o=i=>{const l=i;l.type==="checkbox"?l.checked=!1:l.type==="date"&&(l.value="")};return t({clearFilter:o,resetAll:()=>{a.value.querySelectorAll('input[type="checkbox"], input[type="date"]').forEach(l=>{o(l)})},resetOne:i=>{const l=a.value.querySelector(`#${i}`);o(l)}}),(i,l)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.createElementVNode("div",{class:"vs-filter","data-test":"vs-filter",id:n.filterId,ref_key:"filter",ref:a},[vue.createElementVNode("div",_hoisted_2$X,[vue.createElementVNode("fieldset",{class:"vs-filter__panel","data-test":"vs-filter__panel",onChange:l[0]||(l[0]=u=>i.$emit("filter-updated",u))},[vue.createElementVNode("legend",_hoisted_3$K,[vue.createVNode(LoadingSpinner.VsIcon,{icon:"vs-icon-control-filters",size:"sm"}),vue.createTextVNode(" "+vue.toDisplayString(n.filterLabel),1)]),vue.renderSlot(i.$slots,"default")],32)])],8,_hoisted_1$1m),i.$slots["no-js"]?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsWarning,{key:0,class:"vs-filter__warning"},{default:vue.withCtx(()=>[vue.renderSlot(i.$slots,"no-js")]),_:3})):vue.createCommentVNode("",!0)],64))}},_hoisted_1$1l={key:0,class:"vs-filter-section__details"},_hoisted_2$W={class:"vs-filter-section__summary"},_hoisted_3$J={key:1,class:"vs-filter-section__section"},_sfc_main$1L={__name:"VsFilterSection",props:{sectionTitle:{type:String,default:void 0},type:{type:String,default:"list",validator:e=>e.match(/(inline|group|list)/)}},setup(e){const t=e,n=vue.computed(()=>({"vs-filter-section":!0,"vs-filter-section--inline":t.type==="inline"}));return(a,o)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(n.value),"data-test":"vs-filter-section"},[t.type==="group"?(vue.openBlock(),vue.createElementBlock("details",_hoisted_1$1l,[vue.createElementVNode("summary",_hoisted_2$W,[vue.createTextVNode(vue.toDisplayString(t.sectionTitle)+" ",1),vue.createVNode(LoadingSpinner.VsIcon,{icon:"vs-icon-control-expand",variant:"highlight"})]),vue.renderSlot(a.$slots,"default")])):(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$J,[vue.renderSlot(a.$slots,"default")]))],2))}};function createHydrationCleanup(){let e=[];return{cleanup:()=>{e=e.filter(a=>(a(),!1))},onCleanup:a=>{e.push(a)}}}function createHydrationPromise(e){let t=()=>{};const n=new Promise(o=>{t=()=>{e(),o()}});return{promise:n,resolvePromise:t,onResolvedPromise:o=>{n.then(o)}}}function trackDepsOnRender(e){const t=e.effect.fn,n=e.render;e.render=(...a)=>{e.effect.fn=()=>n(...a);const o=e.effect.run();return e.effect.fn=t,e.render=n,o}}const isFunction=e=>typeof e=="function",isObject=e=>e!==null&&typeof e=="object";function traverseChildren(e,t){if(vue.isVNode(e)&&(t(e),e.children!==null)){if(Array.isArray(e.children)){e.children.forEach(n=>traverseChildren(n,t));return}isObject(e.children)&&Object.keys(e.children).forEach(n=>{if(!isFunction(e.children[n]))return;const a=e.children[n]();if(Array.isArray(a)){a.forEach(o=>traverseChildren(o,t));return}traverseChildren(a,t)})}}function isAsyncWrapper(e){var t,n;return((t=e.type)==null?void 0:t.__asyncLoader)&&((n=e.type)==null?void 0:n.name)==="AsyncComponentWrapper"}function waitForAsyncComponents({subTree:e},t){const n=[];if(traverseChildren(e,a=>{isAsyncWrapper(a)&&n.push(a.type.__asyncLoader())}),n.length>0){Promise.all(n).then(t);return}t()}function ensureParentHasSubTreeEl(e){if(!e||!e.subTree)return;const t=e.subTree.el,n=e.u;e.u===null&&(e.u=[]),e.u.push(()=>{e.subTree.el===null&&(e.subTree.el=t),e.u=n})}function useLazyHydration(){const e=vue.getCurrentInstance();if(!e||e.isMounted)throw new Error("useLazyHydration must be called from the setup method.");const t=e.vnode.el!==null;if(e.vnode.type.__isLazilyHydrated=!0,!t)return{willPerformHydration:t,onHydrated:()=>{}};const{cleanup:n,onCleanup:a}=createHydrationCleanup(),{promise:o,resolvePromise:r,onResolvedPromise:s}=createHydrationPromise(n),i=l=>s(()=>vue.nextTick(()=>waitForAsyncComponents(e,l)));return e.type.__asyncLoader=()=>o,ensureParentHasSubTreeEl(e.parent),vue.onBeforeMount(()=>{e.asyncDep=new Promise(l=>{l(!0)})}),s(()=>{trackDepsOnRender(e),e.asyncDep=null}),vue.onUnmounted(n),{willPerformHydration:t,hydrate:r,onHydrated:i,onCleanup:a}}function useHydrateWhenIdle({willPerformHydration:e,hydrate:t,onCleanup:n},a=2e3){if(!e)return;if(!vue.getCurrentInstance())throw new Error("useHydrateWhenIdle must be called from the setup or lifecycle hook methods.");if(!("requestIdleCallback"in window)){t();return}const o=requestIdleCallback(()=>{t()},{timeout:a});n(()=>{cancelIdleCallback(o)})}const DOMNodeTypes={ELEMENT:1,COMMENT:8},isElement=e=>e&&e.nodeType===DOMNodeTypes.ELEMENT,isComment=e=>e&&e.nodeType===DOMNodeTypes.COMMENT,isFragmentStart=e=>isComment(e)&&e?.data==="[",isFragmentEnd=e=>isComment(e)&&e?.data==="]";function getRootElements({vnode:e,subTree:t}){if(!e||e.el===null)return[];if(isElement(e.el))return[e.el];const n=[];if(t&&isFragmentStart(t.el)&&isFragmentEnd(t.anchor)){let a=e.el.nextSibling;for(;a;){if(a&&isElement(a)&&n.push(a),a===t.anchor)return n;a=a.nextSibling}}return n}function useHydrateOnInteraction({willPerformHydration:e,hydrate:t,onCleanup:n},a=["focus"]){if(!e)return;const o=vue.getCurrentInstance();if(!o||o.isMounted)throw new Error("useHydrateOnInteraction must be called from the setup method.");const r=vue.unref(a);vue.onMounted(()=>{const s=getRootElements(o),i=s.length>1?s[0].parentElement||document:s[0],l={capture:!0,once:!1,passive:!0},u=c=>{c.stopPropagation();const d=c.composedPath&&c.composedPath()||c.path;if(!d){let v=c.target;for(;v;){if(s.includes(v)){t();return}if(v===i)return;v=v.parentElement}return}s.forEach(v=>{d.includes(v)&&t()})};r.forEach(c=>{i.addEventListener(c,u,l)}),n(()=>{r.forEach(c=>{i.removeEventListener(c,u,l)})})})}function useHydrateWhenTriggered({willPerformHydration:e,hydrate:t,onCleanup:n},a){if(!e)return;if(!vue.getCurrentInstance())throw new Error("useHydrateWhenTriggered must be called from the setup or lifecycle hook methods.");const o=vue.watch(vue.isRef(a)?a:()=>a,r=>{r&&t()},{immediate:!0});n(o)}const observers=new Map;function createHydrationObserver(e){const t=typeof IntersectionObserver<"u";if(!t)return{supported:t};const n=JSON.stringify(e);if(observers.has(n))return{supported:t,observer:observers.get(n)};const a=new IntersectionObserver(o=>{o.forEach(r=>{!(r.isIntersecting||r.intersectionRatio>0)||!r.target.hydrate||r.target.hydrate()})},e);return observers.set(n,a),{supported:t,observer:a}}function useHydrateWhenVisible({willPerformHydration:e,hydrate:t,onCleanup:n},a){if(!e)return;const o=vue.getCurrentInstance();if(!o||o.isMounted)throw new Error("useHydrateWhenVisible must be called from the setup method.");const{supported:r,observer:s}=createHydrationObserver(a);if(!r){t();return}vue.onMounted(()=>{const i=getRootElements(o);i.forEach(l=>{l.hydrate=t,s.observe(l)}),n(()=>{i.forEach(l=>{delete l.hydrate,s.unobserve(l)})})})}const normalizeSlot=e=>e.length===1?e[0]:e,LazyHydrationWrapper=vue.defineComponent({name:"LazyHydrationWrapper",inheritAttrs:!1,suspensible:!1,props:{whenIdle:{default:!1,type:[Boolean,Number]},whenVisible:{default:!1,type:[Boolean,Object]},onInteraction:{default:!1,type:[Array,Boolean,String]},whenTriggered:{default:void 0,type:[Boolean,Object]}},emits:["hydrated"],setup(e,{slots:t,emit:n}){const a=useLazyHydration();if(!a.willPerformHydration)return()=>normalizeSlot(t.default());if(a.onHydrated(()=>n("hydrated")),e.whenIdle&&useHydrateWhenIdle(a,e.whenIdle!==!0?e.whenIdle:void 0),e.whenVisible&&useHydrateWhenVisible(a,e.whenVisible!==!0?e.whenVisible:void 0),e.onInteraction){let o;e.onInteraction!==!0&&(o=vue.computed(()=>Array.isArray(e.onInteraction)?e.onInteraction:[e.onInteraction]).value),useHydrateOnInteraction(a,o)}return e.whenTriggered!==void 0&&useHydrateWhenTriggered(a,vue.toRef(e,"whenTriggered")),()=>normalizeSlot(t.default())}}),LazyHydrationWrapper$1=vue.markRaw(LazyHydrationWrapper),_sfc_main$1K={name:"VsFooterNavList",status:"prototype",release:"0.0.1",components:{VsAccordion,VsRow:LoadingSpinner.VsRow,VsContainer:LoadingSpinner.VsContainer,LazyHydrationWrapper:LazyHydrationWrapper$1},props:{breakPoint:{type:String,default:null,validator:e=>e.match(/(xs|sm|md|lg|xl|xxl)/)}}},_hoisted_1$1k={class:"vs-footer-nav-list"};function _sfc_render$1t(e,t,n,a,o,r){const s=vue.resolveComponent("VsRow"),i=vue.resolveComponent("VsAccordion"),l=vue.resolveComponent("LazyHydrationWrapper"),u=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createBlock(u,{class:"vs-footer-nav-list","data-test":"vs-footer-nav-list"},{default:vue.withCtx(()=>[vue.createVNode(l,{"on-interaction":["focus","click"]},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$1k,[vue.createVNode(i,{"break-point":n.breakPoint},{default:vue.withCtx(()=>[vue.createVNode(s,null,{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3})]),_:3},8,["break-point"])])]),_:3})]),_:3})}const VsFooterNavList=LoadingSpinner._export_sfc(_sfc_main$1K,[["render",_sfc_render$1t]]),_sfc_main$1J={name:"VsFooter",status:"prototype",release:"0.1.0",components:{VsFooterNavList,VsCol:LoadingSpinner.VsCol,VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow}},_hoisted_1$1j={class:"vs-footer pt-150 pt-md-300","data-unique-id":"vs-footer",id:"site-footer"},_hoisted_2$V={class:"vs-footer__social-menu-wrapper"};function _sfc_render$1s(e,t,n,a,o,r){const s=vue.resolveComponent("VsCol"),i=vue.resolveComponent("VsFooterNavList"),l=vue.resolveComponent("VsRow"),u=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("footer",_hoisted_1$1j,[vue.createVNode(i,{"break-point":"md"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"accordion-items"),vue.createVNode(s,{cols:"12",lg:"3",xl:"2",class:"d-none d-lg-block","data-unique-id":"vs-footer-social_links"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"social-menu")]),_:3})]),_:3}),vue.createElementVNode("div",_hoisted_2$V,[vue.createVNode(u,null,{default:vue.withCtx(()=>[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(s,{cols:"12",class:"d-block d-lg-none","data-unique-id":"vs-footer-mobile_social_links"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"social-menu")]),_:3})]),_:3})]),_:3})]),vue.renderSlot(e.$slots,"default")])}const Footer=LoadingSpinner._export_sfc(_sfc_main$1J,[["render",_sfc_render$1s]]),_sfc_main$1I={name:"VsFooterAccordionItem",status:"prototype",release:"0.0.1",components:{VsAccordionItem},props:{controlId:{type:String,required:!0},itemBreakPoint:{type:String,default:e=>e.breakPoint,validator:e=>e.match(/(xs|sm|md|lg|xl|xxl)/)},openByDefault:{type:Boolean,default:!1},title:{type:String,required:!0},variant:{type:String,default:"primary"}},computed:{getUniqueId(){let e=this.title.toLowerCase();return e=e.replace(/\s+/g,"-"),`vs-footer-${e}`}}};function _sfc_render$1r(e,t,n,a,o,r){const s=vue.resolveComponent("VsAccordionItem");return vue.openBlock(),vue.createBlock(s,{class:"vs-footer-accordion-item mb-md-150","data-test":"vs-footer-accordion-item","data-unique-id":r.getUniqueId,"control-id":n.controlId,"item-break-point":n.itemBreakPoint,"open-by-default":n.openByDefault,variant:n.variant},{title:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(n.title),1)]),"icon-open":vue.withCtx(()=>[vue.renderSlot(e.$slots,"icon-open")]),"icon-closed":vue.withCtx(()=>[vue.renderSlot(e.$slots,"icon-closed")]),default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},8,["data-unique-id","control-id","item-break-point","open-by-default","variant"])}const FooterAccordionItem=LoadingSpinner._export_sfc(_sfc_main$1I,[["render",_sfc_render$1r]]),_sfc_main$1H={name:"VsFooterNavListItem",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)/)},linkText:{type:String,default:""}}},_hoisted_1$1i={class:"vs-footer-nav-list-item","data-test":"vs-footer-nav-list-item",role:"menuitem"};function _sfc_render$1q(e,t,n,a,o,r){const s=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$1i,[vue.createVNode(s,{href:n.href,type:n.type,variant:"on-dark","data-test":"vs-footer-nav-list-item__link"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(n.linkText),1)]),_:1},8,["href","type"])])}const FooterNavListItem=LoadingSpinner._export_sfc(_sfc_main$1H,[["render",_sfc_render$1q]]),_sfc_main$1G={name:"VsList",status:"prototype",release:"0.0.1",props:{ordered:{type:Boolean,default:!1},unstyled:{type:Boolean,default:!1},inline:{type:Boolean,default:!1}}};function _sfc_render$1p(e,t,n,a,o,r){return vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(n.ordered?"ol":"ul"),vue.mergeProps({class:["vs-list",{"vs-list--unstyled":n.unstyled,"vs-list--inline":n.inline,"vs-list--ordered":n.ordered}]},e.$attrs),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16,["class"])}const VsList=LoadingSpinner._export_sfc(_sfc_main$1G,[["render",_sfc_render$1p]]),_sfc_main$1F={name:"VsFooterSocialMenu",status:"prototype",release:"0.0.1",components:{VsList,VsHeading:LoadingSpinner.VsHeading}},_hoisted_1$1h={class:"vs-footer-social-menu px-0 py-150 py-md-200 py-lg-0 px-lg-075","data-test":"vs-footer-social-menu"};function _sfc_render$1o(e,t,n,a,o,r){const s=vue.resolveComponent("VsHeading"),i=vue.resolveComponent("VsList");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1h,[vue.createVNode(s,{level:"2","heading-style":"heading-xxs",class:"vs-footer-social-menu__title"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"title")]),_:3}),vue.createVNode(i,{unstyled:"",class:"mt-125 mt-md-0 mt-lg-125 pe-lg-400 pe-xl-300"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3})])}const FooterSocialMenu=LoadingSpinner._export_sfc(_sfc_main$1F,[["render",_sfc_render$1o]]),_sfc_main$1E={name:"VsFooterSocialItem",status:"prototype",release:"0.0.1",components:{VsLink,VsIcon:LoadingSpinner.VsIcon},mixins:[LoadingSpinner.dataLayerMixin],props:{href:{type:String,required:!0},icon:{type:String,required:!0},ariaLabelOverride:{type:String,default:""}}},_hoisted_1$1g={class:"vs-footer-social-item","data-test":"vs-footer-social-item"};function _sfc_render$1n(e,t,n,a,o,r){const s=vue.resolveComponent("VsIcon"),i=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$1g,[vue.createVNode(i,{"data-test":"vs-footer-social-item__link",href:n.href,type:"external","aria-label":n.ariaLabelOverride?n.ariaLabelOverride:n.icon,"data-layer-value":"socialMediaExternalLinkDataEvent"},{default:vue.withCtx(()=>[vue.createVNode(s,{icon:n.icon,variant:"inverse",size:"sm"},null,8,["icon"])]),_:1},8,["href","aria-label"])])}const FooterSocialItem=LoadingSpinner._export_sfc(_sfc_main$1E,[["render",_sfc_render$1n]]),_sfc_main$1D={name:"VsFooterUtilityList",status:"prototype",release:"0.0.1",components:{VsList,VsRow:LoadingSpinner.VsRow,VsContainer:LoadingSpinner.VsContainer,VsCol:LoadingSpinner.VsCol}},_hoisted_1$1f={class:"vs-footer-utility-list","data-test":"vs-footer-utility-list","data-unique-id":"vs-footer-utility_links"};function _sfc_render$1m(e,t,n,a,o,r){const s=vue.resolveComponent("VsList"),i=vue.resolveComponent("VsCol"),l=vue.resolveComponent("VsRow"),u=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1f,[vue.createVNode(u,null,{default:vue.withCtx(()=>[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(i,{cols:"12",sm:"7",md:"12"},{default:vue.withCtx(()=>[vue.createVNode(s,{unstyled:"",role:"menu"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3})]),_:3})]),_:3})]),_:3})])}const FooterUtilityList=LoadingSpinner._export_sfc(_sfc_main$1D,[["render",_sfc_render$1m]]),brandscotlandLogo="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20version='1.1'%20viewBox='0%200%20565%20112'%3e%3c!--%20Generator:%20Adobe%20Illustrator%2030.0.0,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%202.1.1%20Build%20123)%20--%3e%3cdefs%3e%3cstyle%3e%20.st0%20{%20fill:%20%23fff;%20}%20%3c/style%3e%3c/defs%3e%3cpath%20class='st0'%20d='M28.32,111.69c-.45,0-.68-.25-.68-.76,0-.87,0-2.46,0-7.62,0-1-.49-1.9-1.38-2.35C-3.96,88.43,3.26,56.03,3.34,55.7c.06-.27.46-.39.81-.41.38-.02.71.16.78.34,8.18,21.79,19.97,26.37,26.27,27.69l.19.04c.22,0,.41-.15.47-.36.07-.22,0-.46-.2-.57-22.31-11.97-21.34-34.95-20.67-38.73.02-.12.27-.32.72-.35.41-.02.65.16.68.26,11.37,33.47,32.5,23.77,33.88,23.05.21-.1.31-.34.26-.56-.05-.23-.26-.39-.49-.39-16.23,3.62-25.46-12.12-28.73-22.58C15.16,36.33,12.55,20.21.66,10.01c-.16-.14-.36-.57.06-.81,5.36-3.17,9.78-5,14.86-6.42.23-.07.44.08.51.14,11.78,11.56,10.87,37.89,22.01,44.83.1.06.21.12.32.12.2,0,.37-.11.46-.29.09-.17.09-.39-.06-.53-10.5-10.11-7.98-30.71-16.57-45.05-.13-.22-.08-.68.35-.74,2.49-.37,5.12-.67,8.53-.7,3.53-.03,5.98.19,8.09.44.33.04.46.38.42.58-2.16,11.53-3.84,25.65,1.09,32.27.09.12.24.19.39.19.17,0,.32-.08.41-.22.09-.13.11-.3.05-.46-3.34-8.97-2.05-19.48,4.09-30.88.06-.12.28-.28.47-.23,3.67.87,8.23,2.43,12.56,4.59.22.11.38.47.17.74-5.94,7.6-13.14,17.92-5.35,30.26.07.08.15.4-.12.72-.21.26-.55.36-.68.29-3.61-2.18-6.28-8.38-7.07-11.79-.07-.27-.34-.43-.6-.36-.22.05-.37.25-.38.47-.15,7.47,5.2,15.82,8.1,18.2.1.08.3.38.12.8-.16.38-.49.39-.62.39-4.97-.04-9.54-4.7-11.63-6.72l-.24-.23c-.2-.19-.51-.19-.71,0-.03.03-.05.06-.07.09-.09.14-.11.32-.04.47,2.84,6.41,7.64,10.47,14.58,11.49.09.01.36.11.48.58.09.36-.09.68-.3.79-3.28,1.78-6.51,2.67-10.04,2.7-12.97.1-17.71-13.44-22.8-25.87-1.4-3.43-2.73-6.66-4.21-9.61-.08-.17-.26-.29-.46-.28-.17,0-.33.08-.43.23-.09.13-.09.3-.02.45,1.52,3.31,2.75,7.12,4.05,11.15,4.14,12.78,8.58,28.96,24.29,28.96,0,0,0,0,0,0,3.62,0,7.98-.38,12.52-1.92,0,0,0,0,0,0,.25-.06.48-.02.8.3.18.18.29.58.18.77-6.84,12.89-17.5,16.43-30.19,12.61l-.18-.03c-.2,0-.39.12-.46.31-.08.19-.02.38.11.54,5.87,7.24,21.98,6.9,33.22-2.52,0,0,0,0,0,0,.13-.1.52-.15.91.23.45.43.27.79.22.88-15.74,25.27-42.24,18.68-50.74,5.85-.09-.14-.25-.22-.41-.22-.18,0-.35.1-.44.25-.09.15-.1.34-.01.5,5.18,10.04,14.95,14.7,24.19,18.09,1.21.5,2.38,1.92,2.38,4.12v7.71c0,.3-.15.58-.4.75-2.1,1.34-5.84,2.55-8.12,2.73h0ZM500.64,91.71h-10.97s-4.88-9.54-17.41-26.73c-7.89-10.82-14.69-17.93-14.69-17.93l-.06,44.65h-10.73l-.08-63.28h10.91s3.12,2.16,20.29,25.49c9.86,13.39,11.97,18.72,11.97,18.72V28.43h10.72l.07,63.28h0ZM109.85,55.68c-9.64-1.05-16.3-4.09-16.3-9.17s7.53-8.11,13.86-7.91c10.29.32,15.04,5.31,17.28,8.73l3.75-10.55c-6.08-5.22-11.18-7.9-20.7-8.25-13-.48-24.79,6.4-25.14,17.56-.24,7.47,4.01,15.96,21.02,18.4,10.77,1.54,15.55,3.06,15.55,9,0,5.14-8.3,7.83-14.51,7.63-9.53-.3-16.83-5.85-19.51-10.81l-3.65,10.52c2.96,4.03,11.86,10.32,22.84,10.66,13,.41,25.06-6.8,25.41-18.04.24-7.47-2.64-15.89-19.89-17.77ZM316.35,38.61h-14.9v53.12h-10.72v-53.12h-14.9v-10.28h40.51v10.27ZM367.91,82.34l-3.09,9.39h-34.36l-.05-63.39h10.83l-.07,54h26.74s0,0,0,0ZM553.61,59.99c0-25.23-26.92-21.27-26.92-21.27v42.54s26.92,3.6,26.92-21.27ZM526.68,28.44c15.73,0,37.84,3.51,37.84,31.54s-21.74,31.54-37.84,31.54h-10.83V28.44s10.83,0,10.83,0ZM190.76,71.29l4.48,10.56c-2.2,3.05-10.2,9.61-22.49,9.61-17.07,0-30.96-14.12-30.96-31.48s13.89-31.44,30.96-31.48c5.59-.01,14.48,1.49,22.49,9.81l-4.46,10.64c-6.04-7.92-11.49-9.93-18.03-9.93-11.41,0-20.61,9.35-20.61,20.95s9.2,20.95,20.61,20.95c7.92,0,14.09-3.69,18.01-9.65ZM237.02,38.83c-11.68,0-21.19,9.51-21.19,21.19,0,9.62,6.45,17.78,15.26,20.35,1.88.55,3.87.84,5.93.84,11.68,0,21.19-9.51,21.19-21.19,0-11.68-9.51-21.19-21.19-21.19h0ZM237.02,91.52c-17.37,0-31.49-14.13-31.49-31.49s14.13-31.49,31.49-31.49,31.49,14.13,31.49,31.49-14.13,31.49-31.49,31.49ZM409.22,28.39l-2.57-.02h0s-2.57.01-2.57.01c0,0-14.14,27.43-24.98,63.36h11.29c.69-2.41,1.42-4.8,2.18-7.19,3.35,1.22,6.8,1.84,10.29,1.84,2.83,0,5.65-.41,8.37-1.23,3.05-.91,5.94-2.33,8.53-4.19,1.16,3.56,2.21,7.15,3.17,10.77h11.29c-10.85-35.94-24.98-63.36-24.98-63.36h0ZM408.24,75.92c-1.78.52-3.63.78-5.48.78-2.42,0-4.82-.44-7.09-1.28,4.24-11.96,8.95-23.34,10.97-27.67,1.75,3.74,5.75,12.71,9.7,23.43-2.27,2.23-5.05,3.86-8.1,4.74h0Z'/%3e%3c/svg%3e",_sfc_main$1C={name:"VsFooterCopyright",status:"prototype",release:"0.0.1",components:{VsRow:LoadingSpinner.VsRow,VsContainer:LoadingSpinner.VsContainer,VsCol:LoadingSpinner.VsCol,VsImg:LoadingSpinner.VsImg,VsLink},props:{linkAltText:{type:String,required:!0},href:{type:String,required:!0}},data(){return{currentYear:"",brandscotlandLogo}},computed:{getCurrentYear(){return new Date().getFullYear()}}},_hoisted_1$1e={class:"vs-footer-copyright","data-unique-id":"vs-footer-sub_footer","data-test":"vs-footer-copyright"},_hoisted_2$U={class:"visually-hidden","data-test":"link-alt-text"},_hoisted_3$I={class:"vs-footer-copyright__text"};function _sfc_render$1l(e,t,n,a,o,r){const s=vue.resolveComponent("VsImg"),i=vue.resolveComponent("VsLink"),l=vue.resolveComponent("VsCol"),u=vue.resolveComponent("VsRow"),c=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1e,[vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.createVNode(u,null,{default:vue.withCtx(()=>[vue.createVNode(l,{cols:"12",class:"text-center"},{default:vue.withCtx(()=>[vue.createVNode(i,{class:"vs-footer-copyright__logo mb-050","data-test":"vs-footer-copyright-logo",variant:"on-dark",href:n.href},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_2$U,vue.toDisplayString(n.linkAltText),1),vue.createVNode(s,{src:o.brandscotlandLogo},null,8,["src"])]),_:1},8,["href"]),vue.createElementVNode("p",_hoisted_3$I,[vue.createTextVNode(" © "+vue.toDisplayString(r.getCurrentYear)+" ",1),vue.renderSlot(e.$slots,"copyright")])]),_:3})]),_:3})]),_:3})])}const FooterCopyright=LoadingSpinner._export_sfc(_sfc_main$1C,[["render",_sfc_render$1l]]),_sfc_main$1B={name:"VsGlobalMenu",status:"deprecated",release:"0.1.0",components:{VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.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$1d={class:"vs-global-menu"};function _sfc_render$1k(e,t,n,a,o,r){const s=vue.resolveComponent("VsCol"),i=vue.resolveComponent("VsRow"),l=vue.resolveComponent("VsContainer"),u=vue.resolveComponent("LazyHydrationWrapper");return vue.openBlock(),vue.createElementBlock("nav",_hoisted_1$1d,[vue.createVNode(u,{"on-interaction":["focus","click"]},{default:vue.withCtx(()=>[vue.createVNode(l,{fluid:"lg",class:"px-025 px-sm-075"},{default:vue.withCtx(()=>[vue.createVNode(i,null,{default:vue.withCtx(()=>[vue.createVNode(s,{cols:"12",class:"vs-global-menu__wrapper"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"third-menu-item")]),_:3})]),_:3})]),_:3})]),_:3})])}const GlobalMenu=LoadingSpinner._export_sfc(_sfc_main$1B,[["render",_sfc_render$1k]]),_sfc_main$1A={name:"VsGlobalMenuLanguage",status:"prototype",release:"0.1.0",components:{VsDropdown,VsIcon:LoadingSpinner.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$1c={class:"vs-global-menu__languages__text"},_hoisted_2$T={class:"vs-global-menu__languages__selected"},_hoisted_3$H={class:"vs-global-menu__languages__label",role:"menuitem"};function _sfc_render$1j(e,t,n,a,o,r){const s=vue.resolveComponent("VsIcon"),i=vue.resolveComponent("VsDropdown");return vue.openBlock(),vue.createBlock(i,{variant:"primary",class:"vs-global-menu__languages"},{"button-content":vue.withCtx(()=>[vue.createVNode(s,{class:"vs-global-menu__languages__icon",icon:"fa-regular fa-globe",variant:"inverse",size:"xxs",focusable:"false"}),vue.createElementVNode("span",_hoisted_1$1c,vue.toDisplayString(n.languageLabel),1),vue.createElementVNode("span",_hoisted_2$T,vue.toDisplayString(e.selectedLanguage),1)]),default:vue.withCtx(()=>[vue.createElementVNode("li",_hoisted_3$H,[vue.createVNode(s,{icon:"fa-regular fa-globe",variant:"inverse",size:"xxs",focusable:"false"}),vue.createTextVNode(" "+vue.toDisplayString(n.languageLabel),1)]),vue.renderSlot(e.$slots,"default")]),_:3})}const GlobalMenuLanguage=LoadingSpinner._export_sfc(_sfc_main$1A,[["render",_sfc_render$1j]]),_sfc_main$1z={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"),t=this.cookieExists("googtrans");this.setCookie("vs_locale",this.localeCookie,!e),this.setCookie("googtrans",this.translationCookie,!t)}}};function _sfc_render$1i(e,t,n,a,o,r){const s=vue.resolveComponent("VsDropdownItem");return vue.openBlock(),vue.createBlock(s,{class:"vs-global-menu__languages__item",href:n.languageLink,onClick:t[0]||(t[0]=i=>r.setLanguage())},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(n.languageName),1)]),_:1},8,["href"])}const GlobalMenuLanguageItem=LoadingSpinner._export_sfc(_sfc_main$1z,[["render",_sfc_render$1i]]),__vite_import_meta_env__={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1};var define_process_env_default$2={};const getEnvValue=e=>define_process_env_default$2?define_process_env_default$2[e]:__vite_import_meta_env__[e];function isAppleIOS(){const e=navigator.userAgent;return!!(/iPhone|iPod|iPad/.test(e)||/Macintosh/.test(e)&&"ontouchend"in document)}const useGoogleBaseMapStore=pinia.defineStore("googleBaseMap",()=>{const e=vue.ref([]),t=vue.ref(!1),n=vue.ref(null),a=vue.ref([]);function o(s){a.value.push(s)}function r(s){a.value=a.value.filter(i=>i!==s)}return{setActiveMarker:o,removeActiveMarker:r,activeMarkers:a,markers:e,markerHovered:n,isPolygonTooltipOpen:t}});var define_process_env_default$1={};const MSG_REPEATED_SET_OPTIONS=e=>`The setOptions() function should only be called once. The options passed to the additional call (${JSON.stringify(e)}) will be ignored.`,MSG_IMPORT_LIBRARY_EXISTS=e=>`The google.maps.importLibrary() function is already defined, and @googlemaps/js-api-loader will use the existing function instead of overwriting it. The options passed to setOptions (${JSON.stringify(e)}) will be ignored.`,MSG_SET_OPTIONS_NOT_CALLED="No options were set before calling importLibrary. Make sure to configure the loader using setOptions().",MSG_SCRIPT_ELEMENT_EXISTS="There already is a script loading the Google Maps JavaScript API, and no google.maps.importLibrary function is defined. @googlemaps/js-api-loader will proceed to bootstrap the API with the specified options, but the existing script might cause problems using the API. Make sure to remove the script loading the API.",MSG_API_KEY_USED="The 'apiKey' parameter was used in setOptions(), but 'key' is the correct parameter name. Please update your configuration.",MSG_TRUSTED_TYPES_POLICY_FAILED=(e,t)=>`Failed to create Trusted Types policy "${e}": ${t instanceof Error?t.message:String(t)}.
153
153
 
154
- If your Content Security Policy uses "require-trusted-types-for 'script'", allow this policy with "trusted-types ${e} google-maps-api-loader google-maps-api#html lit-html". The "google-maps-api-loader", "lit-html", and "google-maps-api#html" policies are required for full Maps JavaScript API execution. Falling back to a string script URL.`,__DEV__$1=define_process_env_default$1.NODE_ENV!=="production",logDevWarning=__DEV__$1?e=>{console.warn(`[@googlemaps/js-api-loader] ${e}`)}:()=>{},logDevNotice=__DEV__$1?e=>{console.info(`[@googlemaps/js-api-loader] ${e}`)}:()=>{},TRUSTED_TYPES_POLICY_NAME="@googlemaps/js-api-loader",fallbackPolicy={createScriptURL:e=>e};let policy;function getPolicy(){if(policy)return policy;const e=globalThis.trustedTypes;if(!e)return policy=fallbackPolicy,policy;try{policy=e.createPolicy(TRUSTED_TYPES_POLICY_NAME,{createScriptURL:t=>t})}catch(t){logDevWarning(MSG_TRUSTED_TYPES_POLICY_FAILED(TRUSTED_TYPES_POLICY_NAME,t)),policy=fallbackPolicy}return policy}function setScriptSrc(e,t){e.src=getPolicy().createScriptURL(t)}const bootstrap=e=>{var t,n,a,o="The Google Maps JavaScript API",r="google",s="importLibrary",i="__ib__",l=document,u=window,c=u[r]||(u[r]={}),d=c.maps||(c.maps={}),v=new Set,f=new URLSearchParams,p=()=>t||(t=new Promise(async(m,_)=>{await(n=l.createElement("script")),f.set("libraries",[...v]+"");for(a in e)f.set(a.replace(/[A-Z]/g,h=>"_"+h[0].toLowerCase()),e[a]);f.set("callback",r+".maps."+i),setScriptSrc(n,"https://maps.googleapis.com/maps/api/js?"+f),d[i]=m,n.onerror=()=>t=_(Error(o+" could not load.")),n.nonce=l.querySelector("script[nonce]")?.nonce||"",l.head.append(n)}));d[s]?console.warn(o+" only loads once. Ignoring:",e):d[s]=(m,..._)=>v.add(m)&&p().then(()=>d[s](m,..._))},__DEV__=define_process_env_default$1.NODE_ENV!=="production";let setOptionsWasCalled_=!1;function setOptions(e){if(setOptionsWasCalled_){logDevWarning(MSG_REPEATED_SET_OPTIONS(e));return}e.apiKey&&(logDevWarning(MSG_API_KEY_USED),e.key||(e.key=e.apiKey)),installImportLibrary_(e),setOptionsWasCalled_=!0}async function importLibrary(e){if(setOptionsWasCalled_||logDevWarning(MSG_SET_OPTIONS_NOT_CALLED),!window?.google?.maps?.importLibrary)throw new Error("google.maps.importLibrary is not installed.");return await google.maps.importLibrary(e)}function installImportLibrary_(e){const t=!!window.google?.maps?.importLibrary;t?logDevNotice(MSG_IMPORT_LIBRARY_EXISTS(e)):__DEV__&&document.querySelector('script[src*="maps.googleapis.com/maps/api/js"]')&&logDevWarning(MSG_SCRIPT_ELEMENT_EXISTS),t||bootstrap(e)}function createTooltipContainer(){const e=document.createElement("div");return e.classList.add("vs-google-map__tooltip"),e.style.display="flex",e.style.flexDirection="column",e.style.alignItems="center",e.style.filter="drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.25))",e.style.pointerEvents="none",e}function createTooltipContent(){const e=document.createElement("div");return e.classList.add("vs-google-map__tooltip-content"),e.style.width="max-content",e.style.padding=`${LoadingSpinner.designTokens["vs-spacer-025"]} ${LoadingSpinner.designTokens["vs-spacer-050"]}`,e.style.fontFamily=LoadingSpinner.designTokens["vs-font-family-sans-serif"],e.style.fontSize=LoadingSpinner.designTokens["vs-font-size-detail-s"],e.style.borderRadius=LoadingSpinner.designTokens["vs-radius-small"],e.style.background=LoadingSpinner.designTokens["vs-color-background-inverse"],e}function createTooltipArrow(){const e=document.createElement("div");return e.classList.add("vs-google-map__tooltip-arrow"),e.style.width="10px",e.style.height="10px",e.style.background=LoadingSpinner.designTokens["vs-color-background-inverse"],e.style.transform="rotate(45deg)",e.style.position="relative",e.style.top="-5px",e}function createTooltip(e){return class extends e.OverlayView{map;location;properties;isMarker;tooltipContainer;constructor(n,a,o,r=!1){super(),this.map=n,this.location=a,this.properties=o,this.isMarker=r}onAdd(){this.tooltipContainer=createTooltipContainer();const n=createTooltipContent(),a=document.createElement("span");a.textContent=`${this.properties.title}`,n.appendChild(a),this.tooltipContainer.appendChild(n);const o=createTooltipArrow();this.tooltipContainer.appendChild(o),this.tooltipContainer.style.position="absolute",this.tooltipContainer.style.zIndex="9999",this.getPanes()?.overlayMouseTarget.appendChild(this.tooltipContainer),this.hide()}onRemove(){this.tooltipContainer?.parentElement&&this.tooltipContainer.parentElement.removeChild(this.tooltipContainer)}draw(){const n=this.getProjection().fromLatLngToDivPixel(this.location);if(this.tooltipContainer){const a=this.tooltipContainer.offsetWidth,o=this.tooltipContainer.offsetHeight;this.tooltipContainer.style.left=`${n.x-a/2}px`,this.isMarker?this.tooltipContainer.style.top=`${n.y-100}px`:this.tooltipContainer.style.top=`${n.y-o}px`}}toggleDOM(){this.getMap()?this.setMap(null):this.setMap(this.map)}show(){this.tooltipContainer&&(this.tooltipContainer.style.visibility="visible")}hide(){this.tooltipContainer&&(this.tooltipContainer.style.visibility="hidden")}}}const ACTIVE_COLOR=LoadingSpinner.designTokens["vs-color-background-accent-heather-30"],HOVER_COLOR=LoadingSpinner.designTokens["vs-color-background-accent-heather-80"],STROKE_COLOR=LoadingSpinner.designTokens["vs-color-border-inverse"];function getPolygonCenter(e,t){const n=new google.maps.LatLngBounds;return t.getPaths().getArray().flat().forEach(o=>{o.getArray().forEach(r=>{n.extend(new google.maps.LatLng(r.lat(),r.lng()))})}),n.getCenter()}async function attachListeners(e,t){const n=useGoogleBaseMapStore();if(e.addListener("mouseover",()=>{e.setOptions({fillColor:HOVER_COLOR}),t&&n.markerHovered&&(n.isPolygonTooltipOpen=!0,t.show())}),e.addListener("mouseout",()=>{e.setOptions({fillColor:ACTIVE_COLOR}),t&&(n.isPolygonTooltipOpen=!1,t.hide())}),!t)return;const{markerHovered:a}=pinia.storeToRefs(n);vue.watch(()=>a.value,o=>{o&&(t.hide(),n.isPolygonTooltipOpen=!1)}),e.addListener("mousemove",()=>{!n.isPolygonTooltipOpen&&!n.markerHovered&&(t.show(),n.isPolygonTooltipOpen=!0)})}async function createPolygon(e,t,n,a){const o=new google.maps.Polygon({paths:t,strokeColor:STROKE_COLOR,strokeOpacity:.8,strokeWeight:2,fillColor:ACTIVE_COLOR,fillOpacity:.5,clickable:!0});o.setMap(e);const r=getPolygonCenter(e,o);if(a){const s=await importLibrary("maps"),i=createTooltip(s),l=new i(e,r,n);l.setMap(e),attachListeners(o,l)}else attachListeners(o)}function addPolygon(e,t,n){if(t.geometry.type==="Polygon"){const a=[];t.geometry.coordinates[0].forEach(r=>{a.push(new google.maps.LatLng(r[1],r[0]))}),createPolygon(e,a,t.properties,n)}if(t.geometry.type==="MultiPolygon"){const a=[];t.geometry.coordinates.forEach(r=>{const s=r[0];if(s){const i=s.map(([l,u])=>new google.maps.LatLng(u,l));a.push(i)}}),createPolygon(e,a,t.properties,n)}}const _hoisted_1$1b={class:"vs-google-map"},_hoisted_2$S=[".center","^zoom","mapId"],_hoisted_3$G={class:"vs-google-map__custom-controls","data-test":"vs-google-map__custom-control-container",slot:"control-inline-end-block-start"},_sfc_main$1y={__name:"GoogleMap",props:{apiKey:{type:String,default:getEnvValue("GOOGLE_MAPS_API_KEY")},center:{type:Object,default:()=>({lat:0,lng:0})},zoom:{type:Number,default:6},mapId:{type:String,required:!0},googleMapsOptions:{type:Object,default:()=>({clickableIcons:!0,gestureHandling:"auto",isFractionalZoomEnabled:!1,renderingTypeVector:!0})},mapBounds:{type:Object,default:()=>{}},initialViewIsScotland:{type:Boolean,default:!0},isViewToFitMarkers:{type:Boolean,default:!1},isMarkerTooltipsEnabled:{type:Boolean,default:!1},isPolygonTooltipsEnabled:{type:Boolean,default:!0},polygonData:{type:Array,default:()=>[]},languageCode:{type:String,default:"en"},uiLabels:{type:Object,required:!0}},setup(e){const t=e,n=useGoogleBaseMapStore(),a=vue.ref(null),o=vue.shallowRef(),r=vue.ref(!1),s=vue.ref(t.center),i=vue.ref(!1),l={north:60,south:54.24,west:-7.65,east:-1.4};async function u(){await google.maps.importLibrary("maps"),await google.maps.importLibrary("marker"),!(r.value||!a.value)&&(o.value=a.value.innerMap,o.value&&(o.value.setOptions({center:s.value,zoom:t.zoom,mapId:t.mapId,clickableIcons:t.googleMapsOptions.clickableIcons,gestureHandling:t.googleMapsOptions.gestureHandling,isFractionalZoomEnabled:t.googleMapsOptions.isFractionalZoomEnabled,renderingType:t.googleMapsOptions.renderingTypeVector?google.maps.RenderingType.VECTOR:google.maps.RenderingType.RASTER,restriction:{latLngBounds:t.mapBounds},disableDefaultUI:!0,keyboardShortcuts:!0}),t.initialViewIsScotland?o.value.fitBounds(l):!t.initialViewIsScotland&&t.isViewToFitMarkers&&n.markers.length>0&&google.maps.event.addListenerOnce(o.value,"idle",()=>{const f=new google.maps.LatLngBounds;n.markers.forEach(p=>{f.extend(new google.maps.LatLng(p.location[1],p.location[0]))}),s.value=f.getCenter(),o.value.fitBounds(f)}),t.polygonData&&google.maps.event.addListenerOnce(o.value,"tilesloaded",()=>{t.polygonData.forEach(f=>{addPolygon(o.value,f,t.isPolygonTooltipsEnabled)})})))}vue.onMounted(async()=>{setOptions({key:t.apiKey,v:"quarterly",libraries:["maps","marker"],region:"GB",language:t.languageCode}),await u()}),vue.onBeforeUnmount(()=>{r.value=!0,a.value.remove(),o.value&&google.maps.event.clearInstanceListeners(o.value),a.value=null,o.value=null,n.markers=[]});function c(){o.value&&o.value.setZoom((o.value.getZoom()||0)+1)}function d(){o.value&&o.value.setZoom((o.value.getZoom()||0)-1)}function v(){isAppleIOS()||(!document.fullscreenElement&&a.value?(a.value.requestFullscreen(),i.value=!0):(document.exitFullscreen(),i.value=!1))}return(f,p)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1b,[vue.createElementVNode("gmp-map",{".center":s.value,"^zoom":t.zoom,mapId:t.mapId,class:"vs-google-map__map",id:"vs-google-map",ref_key:"mapRef",ref:a,"data-test":"vs-google-map"},[vue.renderSlot(f.$slots,"vs-google-map-marker"),vue.createElementVNode("div",_hoisted_3$G,[vue.createVNode(LoadingSpinner.VsButton,{icon:"fa-regular fa-plus",variant:"secondary","icon-only":"",size:"sm",onClick:c,"data-test":"vs-google-map__custom-control--zoom-in"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.uiLabels?.zoomIn),1)]),_:1}),vue.createVNode(LoadingSpinner.VsButton,{icon:"fa-regular fa-minus",variant:"secondary","icon-only":"",size:"sm",onClick:d,"data-test":"vs-google-map__custom-control--zoom-out"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.uiLabels?.zoomOut),1)]),_:1}),vue.unref(isAppleIOS)?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsButton,{key:0,icon:i.value?"fa-regular fa-arrows-minimize":"fa-regular fa-arrows-maximize",variant:"secondary","icon-only":"",size:"sm",onClick:v,"data-test":"vs-google-map__custom-control--fullscreen"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.uiLabels?.fullScreen),1)]),_:1},8,["icon"])):vue.createCommentVNode("",!0)])],40,_hoisted_2$S),vue.createVNode(LoadingSpinner.VsWarning,{class:"vs-google-map__no-js"},{default:vue.withCtx(()=>[vue.renderSlot(f.$slots,"no-js")]),_:3})]))}},_hoisted_1$1a=["^position","aria-label","zIndex"],_hoisted_2$R={width:"36",height:"41",viewBox:"0 0 36 41",fill:"none",xmlns:"http://www.w3.org/2000/svg","data-test":"vs-google-map-marker__pin-graphic"},_hoisted_3$F=["fill"],_hoisted_4$u={class:"vs-google-map-marker__content"},_hoisted_5$n={width:"36",height:"41",viewBox:"0 0 36 41",fill:"none",xmlns:"http://www.w3.org/2000/svg","data-test":"vs-google-map-marker__pin-graphic"},_hoisted_6$h=["fill"],_hoisted_7$g={class:"vs-google-map-marker__content","data-test":"vs-google-map-marker__content"},_sfc_main$1x={__name:"GoogleMapMarker",props:{featureData:{type:Object,required:!0},pinColor:{type:String,default:LoadingSpinner.designTokens["vs-color-background-accent-heather-80"]},markerTooltipsEnabled:{type:Boolean,default:!1},handleMarkerBehaviourExternally:{type:Boolean,default:!1}},emits:["markerClick"],setup(e,{expose:t}){const n=useGoogleBaseMapStore(),a=vue.ref(null),o=vue.ref(null),r=e;vue.onBeforeMount(()=>{r.featureData.geometry.type==="Point"&&n.markers.push({id:r.featureData.properties.id,location:r.featureData.geometry.coordinates})});const s=h=>`${h[1]}, ${h[0]}`;function i(h){n.setActiveMarker(h)}function l(h){return n.activeMarkers.includes(h)}function u(h){n.removeActiveMarker(h)}const c=()=>{o.value=9999,i(r.featureData.properties.id)},d=()=>{o.value=299,u(r.featureData.properties.id)},v=()=>{a.value.show(),c()},f=()=>{a.value.hide(),d()},p=()=>{if(r.markerTooltipsEnabled&&!r.handleMarkerBehaviourExternally)f();else if(!r.markerTooltipsEnabled&&!r.handleMarkerBehaviourExternally)d();else if(r.markerTooltipsEnabled)return},m=()=>l(r.featureData.properties.id)?"is-active":null,{markerHovered:_}=pinia.storeToRefs(useGoogleBaseMapStore);return t({showTooltip:v,hideTooltip:f,resetPin:d,handleSetMarkerActive:i,handleRemoveMarkerActive:u,markerHovered:_}),(h,g)=>(vue.openBlock(),vue.createElementBlock("gmp-advanced-marker",{"^position":s(r.featureData.geometry.coordinates),class:"vs-google-map-marker__gmp-element","data-test":"vs-google-map-marker",tabindex:"0","aria-label":r.featureData.properties.title,role:"button",zIndex:o.value,onMouseover:g[3]||(g[3]=b=>c()),onMouseout:g[4]||(g[4]=b=>r.handleMarkerBehaviourExternally?null:d()),onMouseleave:g[5]||(g[5]=vue.withModifiers(()=>{},["prevent"])),onFocus:g[6]||(g[6]=b=>r.markerTooltipsEnabled?v():c()),onFocusout:p,onKeydown:g[7]||(g[7]=vue.withKeys(b=>h.$emit("markerClick",r.featureData),["enter"]))},[r.markerTooltipsEnabled?(vue.openBlock(),vue.createBlock(VsTooltip,{key:0,class:vue.normalizeClass(["vs-google-map-marker",m()]),position:"top",title:r.featureData.properties.title,subtle:"","use-legacy":!1,ref_key:"tooltip",ref:a,onMouseleave:g[0]||(g[0]=vue.withModifiers(()=>{},["prevent"])),onClick:g[1]||(g[1]=b=>h.$emit("markerClick",r.featureData))},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock("svg",_hoisted_2$R,[vue.createElementVNode("path",{d:`M18 1C27.3888 1 35 8.61116 35 18C35 21.2018 34.304 23.8695 32.7432
154
+ If your Content Security Policy uses "require-trusted-types-for 'script'", allow this policy with "trusted-types ${e} google-maps-api-loader google-maps-api#html lit-html". The "google-maps-api-loader", "lit-html", and "google-maps-api#html" policies are required for full Maps JavaScript API execution. Falling back to a string script URL.`,__DEV__$1=define_process_env_default$1.NODE_ENV!=="production",logDevWarning=__DEV__$1?e=>{console.warn(`[@googlemaps/js-api-loader] ${e}`)}:()=>{},logDevNotice=__DEV__$1?e=>{console.info(`[@googlemaps/js-api-loader] ${e}`)}:()=>{},TRUSTED_TYPES_POLICY_NAME="@googlemaps/js-api-loader",fallbackPolicy={createScriptURL:e=>e};let policy;function getPolicy(){if(policy)return policy;const e=globalThis.trustedTypes;if(!e)return policy=fallbackPolicy,policy;try{policy=e.createPolicy(TRUSTED_TYPES_POLICY_NAME,{createScriptURL:t=>t})}catch(t){logDevWarning(MSG_TRUSTED_TYPES_POLICY_FAILED(TRUSTED_TYPES_POLICY_NAME,t)),policy=fallbackPolicy}return policy}function setScriptSrc(e,t){e.src=getPolicy().createScriptURL(t)}const bootstrap=e=>{var t,n,a,o="The Google Maps JavaScript API",r="google",s="importLibrary",i="__ib__",l=document,u=window,c=u[r]||(u[r]={}),d=c.maps||(c.maps={}),v=new Set,f=new URLSearchParams,p=()=>t||(t=new Promise(async(m,_)=>{await(n=l.createElement("script")),f.set("libraries",[...v]+"");for(a in e)f.set(a.replace(/[A-Z]/g,h=>"_"+h[0].toLowerCase()),e[a]);f.set("callback",r+".maps."+i),setScriptSrc(n,"https://maps.googleapis.com/maps/api/js?"+f),d[i]=m,n.onerror=()=>t=_(Error(o+" could not load.")),n.nonce=l.querySelector("script[nonce]")?.nonce||"",l.head.append(n)}));d[s]?console.warn(o+" only loads once. Ignoring:",e):d[s]=(m,..._)=>v.add(m)&&p().then(()=>d[s](m,..._))},__DEV__=define_process_env_default$1.NODE_ENV!=="production";let setOptionsWasCalled_=!1;function setOptions(e){if(setOptionsWasCalled_){logDevWarning(MSG_REPEATED_SET_OPTIONS(e));return}e.apiKey&&(logDevWarning(MSG_API_KEY_USED),e.key||(e.key=e.apiKey)),installImportLibrary_(e),setOptionsWasCalled_=!0}async function importLibrary(e){if(setOptionsWasCalled_||logDevWarning(MSG_SET_OPTIONS_NOT_CALLED),!window?.google?.maps?.importLibrary)throw new Error("google.maps.importLibrary is not installed.");return await google.maps.importLibrary(e)}function installImportLibrary_(e){const t=!!window.google?.maps?.importLibrary;t?logDevNotice(MSG_IMPORT_LIBRARY_EXISTS(e)):__DEV__&&document.querySelector('script[src*="maps.googleapis.com/maps/api/js"]')&&logDevWarning(MSG_SCRIPT_ELEMENT_EXISTS),t||bootstrap(e)}function createTooltipContainer(){const e=document.createElement("div");return e.classList.add("vs-google-map__tooltip"),e.style.display="flex",e.style.flexDirection="column",e.style.alignItems="center",e.style.filter="drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.25))",e.style.pointerEvents="none",e}function createTooltipContent(){const e=document.createElement("div");return e.classList.add("vs-google-map__tooltip-content"),e.style.width="max-content",e.style.padding=`${LoadingSpinner.designTokens["vs-spacer-025"]} ${LoadingSpinner.designTokens["vs-spacer-050"]}`,e.style.fontFamily=LoadingSpinner.designTokens["vs-font-family-sans-serif"],e.style.fontSize=LoadingSpinner.designTokens["vs-font-size-detail-s"],e.style.borderRadius=LoadingSpinner.designTokens["vs-radius-small"],e.style.background=LoadingSpinner.designTokens["vs-color-background-inverse"],e}function createTooltipArrow(){const e=document.createElement("div");return e.classList.add("vs-google-map__tooltip-arrow"),e.style.width="10px",e.style.height="10px",e.style.background=LoadingSpinner.designTokens["vs-color-background-inverse"],e.style.transform="rotate(45deg)",e.style.position="relative",e.style.top="-5px",e}function createTooltip(e){return class extends e.OverlayView{map;location;properties;isMarker;tooltipContainer;constructor(n,a,o,r=!1){super(),this.map=n,this.location=a,this.properties=o,this.isMarker=r}onAdd(){this.tooltipContainer=createTooltipContainer();const n=createTooltipContent(),a=document.createElement("span");a.textContent=`${this.properties.title}`,n.appendChild(a),this.tooltipContainer.appendChild(n);const o=createTooltipArrow();this.tooltipContainer.appendChild(o),this.tooltipContainer.style.position="absolute",this.tooltipContainer.style.zIndex="9999",this.getPanes()?.overlayMouseTarget.appendChild(this.tooltipContainer),this.hide()}onRemove(){this.tooltipContainer?.parentElement&&this.tooltipContainer.parentElement.removeChild(this.tooltipContainer)}draw(){const n=this.getProjection().fromLatLngToDivPixel(this.location);if(this.tooltipContainer){const a=this.tooltipContainer.offsetWidth,o=this.tooltipContainer.offsetHeight;this.tooltipContainer.style.left=`${n.x-a/2}px`,this.isMarker?this.tooltipContainer.style.top=`${n.y-100}px`:this.tooltipContainer.style.top=`${n.y-o}px`}}toggleDOM(){this.getMap()?this.setMap(null):this.setMap(this.map)}show(){this.tooltipContainer&&(this.tooltipContainer.style.visibility="visible")}hide(){this.tooltipContainer&&(this.tooltipContainer.style.visibility="hidden")}}}const ACTIVE_COLOR=LoadingSpinner.designTokens["vs-color-background-accent-heather-30"],HOVER_COLOR=LoadingSpinner.designTokens["vs-color-background-accent-heather-80"],STROKE_COLOR=LoadingSpinner.designTokens["vs-color-border-inverse"];function getPolygonCenter(e,t){const n=new google.maps.LatLngBounds;return t.getPaths().getArray().flat().forEach(o=>{o.getArray().forEach(r=>{n.extend(new google.maps.LatLng(r.lat(),r.lng()))})}),n.getCenter()}async function attachListeners(e,t){const n=useGoogleBaseMapStore();if(e.addListener("mouseover",()=>{e.setOptions({fillColor:HOVER_COLOR}),t&&n.markerHovered&&(n.isPolygonTooltipOpen=!0,t.show())}),e.addListener("mouseout",()=>{e.setOptions({fillColor:ACTIVE_COLOR}),t&&(n.isPolygonTooltipOpen=!1,t.hide())}),!t)return;const{markerHovered:a}=pinia.storeToRefs(n);vue.watch(()=>a.value,o=>{o&&(t.hide(),n.isPolygonTooltipOpen=!1)}),e.addListener("mousemove",()=>{!n.isPolygonTooltipOpen&&!n.markerHovered&&(t.show(),n.isPolygonTooltipOpen=!0)})}async function createPolygon(e,t,n,a){const o=new google.maps.Polygon({paths:t,strokeColor:STROKE_COLOR,strokeOpacity:.8,strokeWeight:2,fillColor:ACTIVE_COLOR,fillOpacity:.5,clickable:!0});o.setMap(e);const r=getPolygonCenter(e,o);if(a){const s=await importLibrary("maps"),i=createTooltip(s),l=new i(e,r,n);l.setMap(e),attachListeners(o,l)}else attachListeners(o)}function addPolygon(e,t,n){if(t.geometry.type==="Polygon"){const a=[];t.geometry.coordinates[0].forEach(r=>{a.push(new google.maps.LatLng(r[1],r[0]))}),createPolygon(e,a,t.properties,n)}if(t.geometry.type==="MultiPolygon"){const a=[];t.geometry.coordinates.forEach(r=>{const s=r[0];if(s){const i=s.map(([l,u])=>new google.maps.LatLng(u,l));a.push(i)}}),createPolygon(e,a,t.properties,n)}}const _hoisted_1$1b={class:"vs-google-map"},_hoisted_2$S=[".center","^zoom","mapId"],_hoisted_3$G={class:"vs-google-map__custom-controls","data-test":"vs-google-map__custom-control-container",slot:"control-inline-end-block-start"},_sfc_main$1y={__name:"GoogleMap",props:{apiKey:{type:String,default:getEnvValue("GOOGLE_MAPS_API_KEY")},center:{type:Object,default:()=>({lat:0,lng:0})},zoom:{type:Number,default:6},mapId:{type:String,required:!0},googleMapsOptions:{type:Object,default:()=>({clickableIcons:!0,gestureHandling:"auto",isFractionalZoomEnabled:!1,renderingTypeVector:!0})},mapBounds:{type:Object,default:()=>{}},initialViewIsScotland:{type:Boolean,default:!0},isViewToFitMarkers:{type:Boolean,default:!1},isMarkerTooltipsEnabled:{type:Boolean,default:!1},isPolygonTooltipsEnabled:{type:Boolean,default:!0},polygonData:{type:Array,default:()=>[]},languageCode:{type:String,default:"en"},uiLabels:{type:Object,required:!0}},setup(e){const t=e,n=useGoogleBaseMapStore(),a=vue.ref(null),o=vue.shallowRef(),r=vue.ref(!1),s=vue.ref(t.center),i=vue.ref(!1),l={north:60,south:54.24,west:-7.65,east:-1.4};async function u(){await google.maps.importLibrary("maps"),await google.maps.importLibrary("marker"),!(r.value||!a.value)&&(o.value=a.value.innerMap,o.value&&(o.value.setOptions({center:s.value,zoom:t.zoom,mapId:t.mapId,clickableIcons:t.googleMapsOptions.clickableIcons,gestureHandling:t.googleMapsOptions.gestureHandling,isFractionalZoomEnabled:t.googleMapsOptions.isFractionalZoomEnabled,renderingType:t.googleMapsOptions.renderingTypeVector?google.maps.RenderingType.VECTOR:google.maps.RenderingType.RASTER,restriction:{latLngBounds:t.mapBounds},disableDefaultUI:!0,keyboardShortcuts:!0}),t.initialViewIsScotland?o.value.fitBounds(l):!t.initialViewIsScotland&&t.isViewToFitMarkers&&n.markers.length>0&&google.maps.event.addListenerOnce(o.value,"idle",()=>{const f=new google.maps.LatLngBounds;n.markers.forEach(p=>{f.extend(new google.maps.LatLng(p.location[1],p.location[0]))}),s.value=f.getCenter(),o.value.fitBounds(f)}),t.polygonData&&google.maps.event.addListenerOnce(o.value,"tilesloaded",()=>{t.polygonData.forEach(f=>{addPolygon(o.value,f,t.isPolygonTooltipsEnabled)})})))}vue.onMounted(async()=>{setOptions({key:t.apiKey,v:"quarterly",libraries:["maps","marker"],region:"GB",language:t.languageCode}),await u()}),vue.onBeforeUnmount(()=>{r.value=!0,a.value.remove(),o.value&&google.maps.event.clearInstanceListeners(o.value),a.value=null,o.value=null,n.markers=[]});function c(){o.value&&o.value.setZoom((o.value.getZoom()||0)+1)}function d(){o.value&&o.value.setZoom((o.value.getZoom()||0)-1)}function v(){isAppleIOS()||(!document.fullscreenElement&&a.value?(a.value.requestFullscreen(),i.value=!0):(document.exitFullscreen(),i.value=!1))}return(f,p)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1b,[vue.createElementVNode("gmp-map",{".center":s.value,"^zoom":t.zoom,mapId:t.mapId,class:"vs-google-map__map",id:"vs-google-map",ref_key:"mapRef",ref:a,"data-test":"vs-google-map"},[vue.renderSlot(f.$slots,"vs-google-map-marker"),vue.createElementVNode("div",_hoisted_3$G,[vue.createVNode(LoadingSpinner.VsButton,{icon:"fa-regular fa-plus",variant:"secondary","icon-only":"",size:"sm",onClick:c,"data-test":"vs-google-map__custom-control--zoom-in"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.uiLabels?.zoomIn),1)]),_:1}),vue.createVNode(LoadingSpinner.VsButton,{icon:"fa-regular fa-minus",variant:"secondary","icon-only":"",size:"sm",onClick:d,"data-test":"vs-google-map__custom-control--zoom-out"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.uiLabels?.zoomOut),1)]),_:1}),vue.unref(isAppleIOS)?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsButton,{key:0,icon:i.value?"fa-regular fa-arrows-minimize":"fa-regular fa-arrows-maximize",variant:"secondary","icon-only":"",size:"sm",onClick:v,"data-test":"vs-google-map__custom-control--fullscreen"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.uiLabels?.fullScreen),1)]),_:1},8,["icon"])):vue.createCommentVNode("",!0)])],40,_hoisted_2$S),vue.createVNode(LoadingSpinner.VsWarning,{class:"vs-google-map__no-js"},{default:vue.withCtx(()=>[vue.renderSlot(f.$slots,"no-js")]),_:3})]))}},_hoisted_1$1a=["^position","aria-label","zIndex"],_hoisted_2$R={width:"36",height:"41",viewBox:"0 0 36 41",fill:"none",xmlns:"http://www.w3.org/2000/svg","data-test":"vs-google-map-marker__pin-graphic"},_hoisted_3$F=["fill"],_hoisted_4$u={class:"vs-google-map-marker__content"},_hoisted_5$n={width:"36",height:"41",viewBox:"0 0 36 41",fill:"none",xmlns:"http://www.w3.org/2000/svg","data-test":"vs-google-map-marker__pin-graphic"},_hoisted_6$h=["fill"],_hoisted_7$g={class:"vs-google-map-marker__content","data-test":"vs-google-map-marker__content"},_sfc_main$1x={__name:"GoogleMapMarker",props:{featureData:{type:Object,required:!0},pinColor:{type:String,default:LoadingSpinner.designTokens["vs-color-background-accent-heather-80"]},markerTooltipsEnabled:{type:Boolean,default:!1},handleMarkerBehaviourExternally:{type:Boolean,default:!1}},emits:["markerClick"],setup(e,{expose:t}){const n=useGoogleBaseMapStore(),a=vue.ref(null),o=vue.ref(null),r=e;vue.onBeforeMount(()=>{r.featureData.geometry.type==="Point"&&n.markers.push({id:r.featureData.properties.id,location:r.featureData.geometry.coordinates})});const s=h=>`${h[1]}, ${h[0]}`;function i(h){n.setActiveMarker(h)}function l(h){return n.activeMarkers.includes(h)}function u(h){n.removeActiveMarker(h)}const c=()=>{o.value=9999,i(r.featureData.properties.id)},d=()=>{o.value=299,u(r.featureData.properties.id)},v=()=>{a.value.show(),c()},f=()=>{a.value.hide(),d()},p=()=>{if(r.markerTooltipsEnabled&&!r.handleMarkerBehaviourExternally)f();else if(!r.markerTooltipsEnabled&&!r.handleMarkerBehaviourExternally)d();else if(r.markerTooltipsEnabled)return},m=()=>l(r.featureData.properties.id)?"is-active":null,{markerHovered:_}=pinia.storeToRefs(n);return t({showTooltip:v,hideTooltip:f,resetPin:d,handleSetMarkerActive:i,handleRemoveMarkerActive:u,markerHovered:_}),(h,g)=>(vue.openBlock(),vue.createElementBlock("gmp-advanced-marker",{"^position":s(r.featureData.geometry.coordinates),class:"vs-google-map-marker__gmp-element","data-test":"vs-google-map-marker",tabindex:"0","aria-label":r.featureData.properties.title,role:"button",zIndex:o.value,onMouseover:g[3]||(g[3]=b=>c()),onMouseout:g[4]||(g[4]=b=>r.handleMarkerBehaviourExternally?null:d()),onMouseleave:g[5]||(g[5]=vue.withModifiers(()=>{},["prevent"])),onFocus:g[6]||(g[6]=b=>r.markerTooltipsEnabled?v():c()),onFocusout:p,onKeydown:g[7]||(g[7]=vue.withKeys(b=>h.$emit("markerClick",r.featureData),["enter"]))},[r.markerTooltipsEnabled?(vue.openBlock(),vue.createBlock(VsTooltip,{key:0,class:vue.normalizeClass(["vs-google-map-marker",m()]),position:"top",title:r.featureData.properties.title,subtle:"","use-legacy":!1,ref_key:"tooltip",ref:a,onMouseleave:g[0]||(g[0]=vue.withModifiers(()=>{},["prevent"])),onClick:g[1]||(g[1]=b=>h.$emit("markerClick",r.featureData))},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock("svg",_hoisted_2$R,[vue.createElementVNode("path",{d:`M18 1C27.3888 1 35 8.61116 35 18C35 21.2018 34.304 23.8695 32.7432
155
155
  26.4014C31.2002 28.9041 28.844 31.2202 25.6221 33.7822L25.6025 33.7988L25.5811
156
156
  33.8135L18 39.2285L10.4189 33.8135L10.3975 33.7988L10.3779 33.7822C7.15645
157
157
  31.2202 4.79987 28.9041 3.25684 26.4014C1.69596 23.8696 1 21.2017
@@ -23213,7 +23213,7 @@ const _hoisted_1$1b = { class: "vs-google-map" }, _hoisted_2$S = [".center", "^z
23213
23213
  u();
23214
23214
  else if (r.markerTooltipsEnabled)
23215
23215
  return;
23216
- }, g = () => l(r.featureData.properties.id) ? "is-active" : null, { markerHovered: b } = storeToRefs(useGoogleBaseMapStore);
23216
+ }, g = () => l(r.featureData.properties.id) ? "is-active" : null, { markerHovered: b } = storeToRefs(n);
23217
23217
  return t({
23218
23218
  showTooltip: f,
23219
23219
  hideTooltip: p,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visitscotland/component-library",
3
- "version": "5.79.4",
3
+ "version": "5.80.0",
4
4
  "description": "VisitScotland Component Library",
5
5
  "author": "VisitScotland",
6
6
  "homepage": "https://github.com/visitscotland/vs-component-library#readme",
@@ -14,7 +14,7 @@
14
14
  "./components": {
15
15
  "types": "./dist/components/component-entry.d.ts",
16
16
  "import": "./dist/components/vs-component-library.mjs",
17
- "require": "./dist/components/vs-component-library.umd.js"
17
+ "require": "./dist/components/vs-component-library.js"
18
18
  },
19
19
  "./maps": {
20
20
  "import": "./dist/components/vs-component-library-maps.mjs"
@@ -67,6 +67,7 @@
67
67
  "@chromatic-com/storybook": "^5.2.1",
68
68
  "@eslint/js": "^10.0.1",
69
69
  "@originjs/vite-plugin-require-context": "^1.0.9",
70
+ "@pinia/testing": "^2.0.1",
70
71
  "@popperjs/core": "^2.11.8",
71
72
  "@rollup/plugin-replace": "^6.0.2",
72
73
  "@semantic-release/exec": "^7.1.0",
@@ -80,6 +81,7 @@
80
81
  "@types/react": "^19.2.16",
81
82
  "@vitejs/plugin-vue": "^6.0.7",
82
83
  "@vue/compiler-dom": "^3.5.35",
84
+ "@vue/devtools-api": "^8.1.5",
83
85
  "@vue/eslint-config-typescript": "^14.7.0",
84
86
  "@vue/test-utils": "^2.3.2",
85
87
  "@vue/vue3-jest": "^29.2.6",
@@ -103,6 +105,7 @@
103
105
  "moxios": "^0.4.0",
104
106
  "npm-run-all": "^4.1.5",
105
107
  "optimist": "^0.6.1",
108
+ "pinia": "^4.0.3",
106
109
  "prettier": "^3.8.3",
107
110
  "sass": "^1.62.1",
108
111
  "semantic-release": "^25.0.3",
@@ -122,7 +125,6 @@
122
125
  "@floating-ui/dom": "^1.7.6",
123
126
  "@googlemaps/js-api-loader": "^2.0.1",
124
127
  "@mapbox/geojson-extent": "^1.0.1",
125
- "@pinia/testing": "^0.1.3",
126
128
  "@vuelidate/core": "^2.0.2",
127
129
  "@vuelidate/validators": "^2.0.2",
128
130
  "axios": "^1.4.0",
@@ -131,7 +133,6 @@
131
133
  "lodash": "^4.17.21",
132
134
  "mapbox-gl": "^1.11.1",
133
135
  "mitt": "^3.0.0",
134
- "pinia": "^3.0.4",
135
136
  "swiper": "^14.0.1",
136
137
  "vue": "^3.5.35",
137
138
  "vue-combo-blocks": "^2.1.1",
@@ -142,6 +143,8 @@
142
143
  },
143
144
  "peerDependencies": {
144
145
  "@popperjs/core": "*",
146
+ "@vue/devtools-api": "^8.1.5",
147
+ "pinia": "^4.0.3",
145
148
  "postcss": "*"
146
149
  },
147
150
  "engines": {