@visitscotland/component-library
Version:
VisitScotland Component Library
1,753 lines • 1.39 MB
JavaScript
var gm = Object.defineProperty;
var _m = (e, n, t) => n in e ? gm(e, n, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[n] = t;
var sn = (e, n, t) => _m(e, typeof n != "symbol" ? n + "" : n, t);
import { openBlock, createElementBlock, renderSlot, mergeProps, ref as ref$1, resolveComponent, createBlock, withKeys, withCtx, normalizeClass, createCommentVNode, createElementVNode, resolveDynamicComponent, inject, createVNode, normalizeStyle, withDirectives, vShow, normalizeProps, guardReactiveProps, toDisplayString, onMounted, onUnmounted, createTextVNode, unref, Fragment, renderList, resolveDirective, withModifiers, createSlots, getCurrentInstance, defineComponent, computed as computed$1, watch, reactive, provide, onBeforeMount, isRef, onBeforeUnmount, isReactive, isReadonly, nextTick, isVNode, toRef, markRaw, createStaticVNode, h, mergeModels, useModel, toHandlers, vModelText } from "vue";
import { BButton, BCard, BCardHeader, BCardBody, BCol, BContainer, BBadge, BBreadcrumb, BBreadcrumbItem, BFormGroup, BFormRadioGroup, BFormRadio, BImg, vBTooltip, BProgress, BProgressBar, BFormInput, BFormCheckbox, BDropdown, BDropdownItem, BFormSelect, BFormTextarea, BModal, BTableSimple, BThead, BTh, BTbody, BTr, BTd, BTfoot, BPopover, BTabs, BTab } from "bootstrap-vue-next";
import { defineStore, mapState } from "pinia";
const _export_sfc = (e, n) => {
const t = e.__vccOpts || e;
for (const [a, r] of n)
t[a] = r;
return t;
}, _sfc_main$2t = {
name: "VsAccordion",
status: "prototype",
release: "0.0.1",
/**
* Provides breakPoint prop to be injected to child component AccordionItem
*/
provide() {
return {
breakPoint: this.breakPoint
};
},
props: {
/**
* If this is provided, the accordion expands above
* the specified viewport `xs, sm, md, lg, xl, xxl`
*/
breakPoint: {
type: String,
default: null,
validator: (e) => e.match(/(xs|sm|md|lg|xl|xxl)/)
}
}
}, _hoisted_1$1Q = {
class: "vs-accordion",
"data-test": "vs-accordion"
};
function _sfc_render$2f(e, n, t, a, r, o) {
return openBlock(), createElementBlock("div", _hoisted_1$1Q, [
renderSlot(e.$slots, "default")
]);
}
const VsAccordion = /* @__PURE__ */ _export_sfc(_sfc_main$2t, [["render", _sfc_render$2f]]), _sfc_main$2s = {
name: "VsIcon",
status: "prototype",
release: "0.1.0",
props: {
/**
* The name of the icon to display, which will be the name of the icon file
*/
name: {
type: String,
required: !0,
default: "search"
},
/**
* The color of the icon.
* `default|primary|secondary|inverse|disabled|tertiary|danger|warning`
*/
variant: {
type: String,
default: "default",
validator: (e) => e.match(
/(default|primary|secondary|inverse|disabled|tertiary|danger|warning)/
)
},
/**
* Accepts a colour (hex code or colour name) for the icon, if this is
* set it will override the given variant. This should be used for individual
* exceptions but if one is being used regularly it should likely be a variant
* instead.
*/
customColour: {
type: String,
default: null
},
/**
* The orientation of the icon
* `up|down|left|right`
* @deprecated use the correct icon from FA instead
*/
orientation: {
type: String,
default: null,
validator: (e) => e.match(
/(up|down|left|right)/
)
},
/**
* Size of icon
* `xxs|xs|sm|md|lg|xl`
*/
size: {
type: String,
default: "md",
validator: (e) => e.match(/(xxs|xs|sm|md|lg|xl)/)
},
/**
* Changes the size of the icon at sm and xs viewports
* `xxs|xs|sm|md|lg|xl`
*/
smallSize: {
type: String,
default: null,
validator: (e) => e.match(/(xxs|xs|sm|md|lg|xl)/)
},
/**
* Uses FontAwesome Duotone
*/
duotone: {
type: Boolean,
default: !1
}
},
data() {
return {
/*
* Some DMS feed categories are different
from the name of the icon file. This lookup marries up discrepencies
*/
iconLookup: [
{
key: "accesstoliet",
value: "accessible-toilet"
},
{
key: "accessparkdrop",
value: "facility-accessparkdrop"
},
{
key: "acco",
value: "product-accommodation"
},
{
key: "acti",
value: "product-activities"
},
{
key: "attr",
value: "product-attractions"
},
{
key: "audioloop",
value: "facility-audioloop"
},
{
key: "cafereston",
value: "cafe"
},
{
key: "cate",
value: "product-food-and-drink"
},
{
key: "cities",
value: "city"
},
{
key: "cycling",
value: "cycle"
},
{
key: "dsblaccess",
value: "facility-dsblaccess"
},
{
key: "wheelchairaccess",
value: "facility-dsblaccess"
},
{
key: "even",
value: "product-events"
},
{
key: "familyev",
value: "family"
},
{
key: "filmev",
value: "film-tv"
},
{
key: "hottub",
value: "hot-tub"
},
{
key: "parking",
value: "facility-parking"
},
{
key: "petswelcom",
value: "facility-petswelcom"
},
{
key: "wifi",
value: "facility-wifi"
},
{
key: "public",
value: "public-transport"
},
{
key: "pubtranrte",
value: "public-transport"
},
{
key: "reta",
value: "product-shopping"
},
{
key: "spahealth",
value: "wellness"
},
{
key: "vege",
value: "vegan-vegetarian"
},
{
key: "walking",
value: "walk"
},
{
key: "boat",
value: "boat"
},
{
key: "transport",
value: "transport"
},
{
key: "brekavail",
value: "breakfast-available"
},
{
key: "wetroom",
value: "level-entry-shower"
}
]
};
},
computed: {
icon() {
return this.formattedName;
},
formattedName() {
const e = this.iconLookup.find(({ key: n }) => n === this.name);
return e !== void 0 ? e.value : this.name;
}
}
};
function _sfc_render$2e(e, n, t, a, r, o) {
return openBlock(), createElementBlock("i", mergeProps({
class: {
fak: !0,
[`fa-${o.icon}`]: !0,
"vs-icon": !0,
[`vs-icon--size-${t.size}`]: !0,
[`vs-icon--sm-size-${t.smallSize}`]: t.smallSize,
[`vs-icon--${o.formattedName}`]: !0,
["icon--" + t.orientation]: t.orientation,
[`vs-icon--variant-${t.variant}`]: t.variant,
"fa-duotone": t.duotone
},
style: [t.customColour ? { color: t.customColour } : {}]
}, e.$attrs, { "data-test": "vs-icon" }), null, 16);
}
const VsIcon = /* @__PURE__ */ _export_sfc(_sfc_main$2s, [["render", _sfc_render$2e]]), useDataLayerStore = defineStore("datalayer", () => {
const e = ref$1(""), n = ref$1(!1), t = ref$1({});
function a(c) {
n.value = c;
}
function r(c) {
e.value = c;
}
function o(c) {
t.value[c.key] = c.value;
}
function l(c) {
return t.value[c];
}
return {
pageUrl: e,
tagsTestRun: n,
GTMData: t,
getValueFromKey: l,
setTestRun: a,
setPageUrl: r,
processPayload: o
};
}), checkVendorLibrary = (e, n, t = 0) => {
window.setTimeout(() => {
window[e] ? n(window[e]) : checkVendorLibrary(e, n, 500);
}, t);
}, products = [
{
key: "accommodation",
text: "Accommodation",
value: "acco"
},
{
key: "eventsAndFestivals",
text: "Events & Festivals",
value: "even"
},
{
key: "foodAndDrink",
text: "Food & Drink",
value: "cate"
},
{
key: "thingsToDo",
text: "Things to do",
value: "acti,attr,reta"
},
{
key: "tours",
text: "Tours",
value: "tour"
}
], paths = {
acco: "accommodation",
"acti,attr,reta": "see-do",
cate: "food-drink",
even: "events",
tour: "tours"
}, monthsEnglish = [
{
label: "January",
value: "january"
},
{
label: "February",
value: "february"
},
{
label: "March",
value: "march"
},
{
label: "April",
value: "april"
},
{
label: "May",
value: "may"
},
{
label: "June",
value: "june"
},
{
label: "July",
value: "july"
},
{
label: "August",
value: "august"
},
{
label: "September",
value: "september"
},
{
label: "October",
value: "october"
},
{
label: "November",
value: "november"
},
{
label: "December",
value: "december"
}
], dmoUrls = [
"visitabdn.com",
"wildaboutargyll.co.uk",
"ayrshireandarran.com",
"visitarran.com",
"dundee.com/visit",
"visitangus.com",
"edinburgh.org",
"visiteastlothian.org",
"visitwestlothian.co.uk",
"visitmidlothian.co.uk",
"welcometofife.com",
"visitglasgow.com",
"visitlanarkshire.com",
"discoverinverclyde.com",
"paisley.is",
"west-dunbarton.gov.uk/leisure-parks-events/tourism-and-visitor-attractions",
"eastdunbarton.gov.uk/residents/tourism-visited-exploreed/places-visit-east-dunbartonshire",
"visitinvernesslochness.com",
"nairnscotland.co.uk",
"outdoorcapital.co.uk",
"westhighlandpeninsulas.com/uk",
"roadtotheisles.com",
"discoverglencoe.scot",
"visitcairngorms.com",
"badenochstorylands.com",
"grantownonline.com",
"northcoast500.com",
"venture-north.co.uk",
"discoverassynt.co.uk",
"nwhgeopark.com",
"visitwester-ross.com",
"wrb.scot",
"visitdornoch.com",
"easterrosspeninsula.com",
"black-isle.info",
"myskyetime.com",
"morayspeyside.com",
"yourstirling.com",
"visitfalkirk.com",
"discoverclackmannanshire.com",
"lochlomond-trossachs.org",
"accessforthvalley.com",
"orkney.com",
"visitouterhebrides.co.uk",
"highlandperthshire.org",
"perthcityandtowns.co.uk",
"scotlandstartshere.com",
"shetland.org/visit",
"peoplemakeglasgow.com"
], signpostedPartners = [
"findbusinesssupport.gov.scot",
"www.bgateway.com",
"www.creativescotland.com",
"www.hie.co.uk",
"www.scottish-enterprise.com",
"www.southofscotlandenterprise.com",
"www.skillsdevelopmentscotland.co.uk",
"www.slaed.org.uk"
], pageViewTemplate = [
"event",
"site_language",
"content_language",
"content_category",
"content_page_type",
"page_category_1",
"page_category_2",
"page_category_3",
"page_category_4",
"page_category_5",
"page_category_6",
"content_region",
"content_city",
"provider_search_region",
"provider_search_category",
"provider_search_facilities",
"provider_search_grading",
"provider_search_awards",
"provider_search_rooms",
"provider_search_min_price",
"provider_search_max_price",
"provider_category",
"provider_category_level_1",
"provider_category_level_2",
"provider_name",
"provider_ID",
"star_grading",
"provider_region",
"provider_city",
"provider_has_website",
"page_with_booking_link",
"provider_has_availability",
"availability_search_start_date",
"availability_search_end_date",
"availability_search_no_of_nights",
"availability_search_no_of_adults",
"availability_search_no_of_children",
"availability_search_no_of_rooms",
"availability_search_price_range",
"hit_timestamp",
"tag_name",
"meta_data"
], productSearchTemplate = [
"event",
"site_language",
"page_category_1",
"page_category_2",
"page_category_3",
"page_category_4",
"user_country_setting",
"hit_timestamp",
"tag_name",
"meta_data",
"psr_search_type",
"psr_search_location",
"page_path"
], menuNavigationTemplate = [
"event",
"site_language",
"user_country_setting",
"hit_timestamp",
"tag_name",
"meta_data",
"click_text",
"click_URL"
], shareTemplate = [
"event",
"site_language",
"page_category_1",
"page_category_2",
"page_category_3",
"page_category_4",
"page_category_5",
"page_category_6",
"user_country_setting",
"hit_timestamp",
"tag_name",
"meta_data",
"click_text",
"click_URL"
], socialMediaExternalLinkTemplate = [
"event",
"site_language",
"page_category_1",
"page_category_2",
"page_category_3",
"page_category_4",
"page_category_5",
"page_category_6",
"user_country_setting",
"hit_timestamp",
"tag_name",
"meta_data",
"click_URL",
"location_on_page"
], homePageLogoClickTemplate = [
"event",
"site_language",
"page_category_1",
"page_category_2",
"page_category_3",
"page_category_4",
"page_category_5",
"page_category_6",
"user_country_setting",
"hit_timestamp",
"tag_name",
"meta_data",
"click_URL"
], videoTrackingTemplate = [
"event",
"language",
"page_category_1",
"page_category_2",
"page_category_3",
"page_category_4",
"page_category_5",
"page_category_6",
"user_country_setting",
"hit_timestamp",
"tag_name",
"meta_data",
"video_status",
"video_title",
"video_percent"
], externalLinkTemplate = [
"event",
"site_language",
"page_category_1",
"page_category_2",
"page_category_3",
"page_category_4",
"page_category_5",
"page_category_6",
"user_country_setting",
"hit_timestamp",
"tag_name",
"meta_data",
"click_text",
"click_URL",
"dmo_referral",
"partner_referral",
"event_listing"
], internalLinkTemplate = [
"event",
"site_language",
"page_category_1",
"page_category_2",
"page_category_3",
"page_category_4",
"page_category_5",
"page_category_6",
"user_country_setting",
"hit_timestamp",
"tag_name",
"meta_data",
"click_text",
"click_URL"
], errorTemplate = [
"event",
"site_language",
"page_category_1",
"page_category_2",
"page_category_3",
"page_category_4",
"page_category_5",
"page_category_6",
"user_country_setting",
"hit_timestamp",
"tag_name",
"meta_data",
"error_type",
"error_details",
"page_path"
], formsTemplate = [
"event",
"site_language",
"page_category_1",
"page_category_2",
"page_category_3",
"page_category_4",
"page_category_5",
"page_category_6",
"user_country_setting",
"hit_timestamp",
"tag_name",
"meta_data",
"page_path",
"form_status"
], carbonQuestionTemplate = [
"event",
"site_language",
"page_category_1",
"page_category_2",
"page_category_3",
"page_category_4",
"page_category_5",
"page_category_6",
"user_country_setting",
"hit_timestamp",
"tag_name",
"meta_data",
"question_number",
"answer"
], carbonCompleteTemplate = [
"event",
"site_language",
"page_category_1",
"page_category_2",
"page_category_3",
"page_category_4",
"page_category_5",
"page_category_6",
"user_country_setting",
"hit_timestamp",
"tag_name",
"meta_data",
"total_emissions",
"total_per_day",
"travel_percent",
"accommodation_percent",
"food_percent"
], cmsReferralTemplate = [
"event",
"site_language",
"page_category_1",
"page_category_2",
"page_category_3",
"page_category_4",
"page_category_5",
"page_category_6",
"user_country_setting",
"hit_timestamp",
"tag_name",
"tag_name",
"meta_data",
"referral_location",
"attraction_name",
"dmo_referral"
], accordionOpenTemplate = [
"event",
"site_language",
"page_category_1",
"page_category_2",
"page_category_3",
"page_category_4",
"page_category_5",
"page_category_6",
"user_country_setting",
"hit_timestamp",
"tag_name",
"meta_data",
"accordion_text"
], tabClickTemplate = [
"event",
"event_tab",
"site_language",
"user_country_setting",
"hit_timestamp",
"tag_name",
"meta_data",
"event_listing"
], dataLayerMixin = {
computed: {
// Retrieving page url from the page store created by:
// dataLayer.store.js (Central Store)
// TagManagerWrapper.vue (Global component that reads and updates the store)
...mapState(useDataLayerStore, {
pageUrl(e) {
return e.pageUrl;
}
})
},
data() {
return {
dataLayerLoadConfirmed: !1,
dataLayerStore: null
};
},
mounted() {
this.dataLayerStore = useDataLayerStore();
},
methods: {
// This function matches values passed as an object
// To the template listed on data-layer-template.js
// And return any value not matched as undefined
templateFiller(e, n) {
const t = {};
return e.forEach((a) => {
t[a] = "", t[a] = n[a] || void 0, a === "language" && t[a] === void 0 && (t[a] = n.site_language || void 0);
}), t;
},
createDataLayerObject(e, n, t) {
let a, r, o, l, c, d, p = "", f = "False";
switch (n && n.target && (n.target.text ? d = n.target.text.trim() : d = n.target.innerText, n.target.closest('[data-event-listing="True"]') && (f = "True")), e) {
case "productSearchDataEvent":
a = "psr_search", r = "VS - GA4 - Event - PSR Search", o = {
event: a,
psr_search_type: n.searchType,
psr_search_location: n.searchLocation,
page_path: t,
tag_name: r
}, l = this.compileFullTemplate(o), c = this.templateFiller(productSearchTemplate, l);
break;
case "pageViewTemplateDataEvent":
a = "page_view", o = {
event: a
}, l = this.compileFullTemplate(o), c = this.templateFiller(pageViewTemplate, l);
break;
case "menuNavigationDataEvent":
a = "menu_navigation", o = {
event: a,
click_text: n.target.text.trim(),
click_URL: t
}, l = this.compileFullTemplate(o), c = this.templateFiller(menuNavigationTemplate, l);
break;
case "socialMediaExternalLinkDataEvent":
a = "social_media_footer", r = "VS - GA - Social Media External Link", o = {
event: a,
tag_name: r,
click_URL: t
}, l = this.compileFullTemplate(o), c = this.templateFiller(socialMediaExternalLinkTemplate, l);
break;
case "homePageLogoClickDataEvent":
a = "homepage_logo_click", r = "VS - GA - Homepage Logo Click", o = {
event: a,
tag_name: r
}, l = this.compileFullTemplate(o), c = this.templateFiller(homePageLogoClickTemplate, l);
break;
case "externalLinkDataEvent":
a = "external_link", r = "VS - GA - External Link", o = {
event: a,
tag_name: r,
click_text: d,
click_URL: t,
partner_referral: "False",
event_listing: f
};
for (let m = 0; m < signpostedPartners.length; m++)
t.includes(signpostedPartners[m]) && (o.partner_referral = "True");
l = this.compileFullTemplate(o), c = this.templateFiller(externalLinkTemplate, l);
break;
case "internalLinkDataEvent":
a = "internal_link", r = "VS - GA - Internal Link", o = {
event: a,
tag_name: r,
click_text: d,
click_URL: t
}, l = this.compileFullTemplate(o), c = this.templateFiller(internalLinkTemplate, l);
break;
case "formsDataEvent":
a = "forms", r = "VS - GA - Forms", o = {
event: a,
tag_name: r,
form_status: "form_submitted"
}, l = this.compileFullTemplate(o), c = this.templateFiller(formsTemplate, l);
break;
case "errorDataEvent":
a = "errors", r = "VS - GA - Errors", o = {
event: a,
tag_name: r,
error_type: n.error_type,
error_details: n.error_details
}, l = this.compileFullTemplate(o), c = this.templateFiller(errorTemplate, l);
break;
case "videoTrackingDataEvent":
a = "video_tracking", r = "VS - GA - Video Tracking", o = {
event: a,
tag_name: r,
video_status: n.status,
video_title: n.title || "",
video_percent: n.percent || 0
}, l = this.compileFullTemplate(o), c = this.templateFiller(videoTrackingTemplate, l);
break;
case "socialShareDataEvent":
a = "share", r = "VS - GA - Share", typeof n.target.text < "u" && (p = n.target.text.trim()), o = {
event: a,
tag_name: r,
click_text: p,
click_URL: t
}, l = this.compileFullTemplate(o), c = this.templateFiller(shareTemplate, l);
break;
case "carbonQuestionEvent":
a = "carbonCalculatorQuestion", r = "VS - GA - Carbon Calculator Question Answered", o = {
event: a,
tag_name: r,
question_number: n.questionNumber,
answer: n.answer
}, l = this.compileFullTemplate(o), c = this.templateFiller(carbonQuestionTemplate, l);
break;
case "carbonCompleteEvent":
a = "carbonCalculatorComplete", r = "VS - GA - Carbon Calculator Complete", o = {
event: a,
tag_name: r,
total_emissions: n.totalEmissions,
total_per_day: n.totalPerDay,
travel_percent: n.travelPercent,
accommodation_percent: n.accommodationPercent,
food_percent: n.foodPercent
}, l = this.compileFullTemplate(o), c = this.templateFiller(carbonCompleteTemplate, l);
break;
case "cmsReferral":
a = "cms_referral", r = "VS - GA4 - Event - CMS Link Click Referral", o = {
event: a,
tag_name: r,
referral_location: n.referral_location,
dmo_referral: n.dmo_referral
}, l = this.compileFullTemplate(o), c = this.templateFiller(cmsReferralTemplate, l);
break;
case "accordionOpenEvent":
a = "accordion_opened", r = "GA4 - Event - Accordion Opened", o = {
event: a,
tag_name: r,
accordion_text: n.accordion_text
}, l = this.compileFullTemplate(o), c = this.templateFiller(accordionOpenTemplate, l);
break;
case "tabClickEvent":
a = "tab_click", r = "GA4 - Event - Tab Click", o = {
event: a,
tag_name: r,
event_tab: d,
event_listing: f
}, l = this.compileFullTemplate(o), c = this.templateFiller(tabClickTemplate, l);
break;
}
this.pushToDataLayer(c);
},
returnIsoDate() {
return new Date(Date.now()).toISOString();
},
pushToDataLayer(e) {
this.dataLayerLoadConfirmed ? window.dataLayer.push(e) : checkVendorLibrary("dataLayer", () => {
this.dataLayerLoadConfirmed = !0, window.dataLayer.push(e);
});
},
compileFullTemplate(e) {
const t = {
...this.dataLayerStore.GTMData,
...e
};
return t.hit_timestamp = this.returnIsoDate(), t;
},
targetText(e) {
let n;
return e.target.text ? n = e.target.text.trim() : n = "", n;
}
}
}, _sfc_main$2r = {
name: "VsButton",
status: "prototype",
release: "0.0.1",
components: {
BButton,
VsIcon
},
mixins: [
dataLayerMixin
],
props: {
/**
* Use this option to render the button as an anchor element with the given href.
*/
href: {
type: String,
default: null
},
/**
* Tab index value - this is needed as tabindex attribute is sometimes stripped
* from the button on first update with nested components.
*/
tabindex: {
type: String,
default: null
},
/**
* Style variation to give additional meaning
* `primary|secondary|transparent`.
*/
variant: {
type: String,
default: "primary",
validator: (e) => e.match(
/(primary|secondary|transparent)/
)
},
/**
* Size of the button
* `sm|md|lg`.
*/
size: {
type: String,
default: "md",
validator: (e) => e.match(/(sm|md|lg)/)
},
/**
* By default, buttons have an animation behaviour on click.
* Pass `false` to disable.
*/
animate: {
type: Boolean,
default: !0
},
/**
* Pass the name of the icon to add it to the button.
*/
rounded: {
type: Boolean,
default: !0
},
/**
* Pass the name of the icon to add it to the button.
*/
icon: {
type: String,
default: ""
},
/**
* If the button contains an icon only with no text.
*/
iconOnly: {
type: Boolean,
default: !1
},
/**
* The position of the icon
* `left|right`
*/
iconPosition: {
type: String,
default: "left",
validator: (e) => e.match(/(left|right)/)
}
},
emits: ["btnFocus"],
data() {
return {
isAnimating: !1
};
},
computed: {
buttonClasses() {
return [
{
"vs-button--animated": this.animate && !this.iconOnly,
"vs-button--is-animating": this.isAnimating,
"vs-button--rounded": this.rounded,
"vs-button--icon-only": this.iconOnly,
"button-flex": this.icon && !this.iconOnly,
"vs-button--flex-reverse": this.iconPosition === "right"
}
];
},
iconClasses() {
return [
{
"vs-icon--right": this.iconPosition === "right",
"vs-icon--left": this.iconPosition === "left"
}
];
}
},
methods: {
animateHandler(e) {
this.isAnimating = !0, setTimeout(() => {
this.isAnimating = !1;
}, 1e3), this.href !== null && (e.preventDefault(), this.trackLink(e));
},
tabbedIn(e) {
this.$emit("btnFocus", e);
},
trackLink(e) {
let n;
this.href.includes("http") ? n = "externalLinkDataEvent" : n = "internalLinkDataEvent", this.createDataLayerObject(n, e, this.href), this.href !== "#" && this.href !== null && (window.location.href = this.href);
}
}
};
function _sfc_render$2d(e, n, t, a, r, o) {
const l = resolveComponent("VsIcon"), c = resolveComponent("BButton");
return openBlock(), createBlock(c, mergeProps({
variant: t.variant,
href: t.href || void 0,
tabindex: t.tabindex || void 0,
class: ["vs-button justify-content-center", o.buttonClasses],
size: t.size
}, e.$attrs, {
"aria-disabled": !!e.$attrs.disabled,
onClick: n[0] || (n[0] = (d) => o.animateHandler(d)),
onKeyup: withKeys(o.tabbedIn, ["tab"])
}), {
default: withCtx(() => [
t.icon ? (openBlock(), createBlock(l, {
key: 0,
class: normalizeClass(["align-self-center", o.iconClasses]),
name: t.icon,
size: "xs",
padding: 0
}, null, 8, ["name", "class"])) : createCommentVNode("", !0),
createElementVNode("span", {
class: normalizeClass(["vs-button__text", { "visually-hidden": t.iconOnly }])
}, [
renderSlot(e.$slots, "default")
], 2)
]),
_: 3
}, 16, ["variant", "href", "tabindex", "class", "size", "aria-disabled", "onKeyup"]);
}
const VsButton = /* @__PURE__ */ _export_sfc(_sfc_main$2r, [["render", _sfc_render$2d]]), _sfc_main$2q = {
name: "VsAccordionToggle",
status: "prototype",
release: "0.0.1",
components: {
VsButton
},
props: {
/**
* Variant for which button to show in headers
*/
variant: {
type: String,
default: "primary"
},
/**
* Choose to show accordion open or closed by default
*/
visible: {
type: Boolean,
default: !0
}
},
emits: ["toggle-panel"],
methods: {
triggerToggle() {
this.$emit("toggle-panel");
}
}
}, _hoisted_1$1P = { class: "vs-accordion-toggle__text" }, _hoisted_2$1g = { class: "vs-accordion-toggle__icon" };
function _sfc_render$2c(e, n, t, a, r, o) {
const l = resolveComponent("VsButton");
return openBlock(), createBlock(l, {
animate: !1,
"aria-expanded": t.visible ? "true" : "false",
"aria-haspopup": "true",
onClick: o.triggerToggle,
class: normalizeClass(["vs-accordion-toggle clearfix", t.visible ? "vs-accordion-toggle--open" : ""]),
variant: t.variant,
rounded: !1
}, {
default: withCtx(() => [
createElementVNode("span", _hoisted_1$1P, [
renderSlot(e.$slots, "default")
]),
createElementVNode("span", _hoisted_2$1g, [
t.visible ? renderSlot(e.$slots, "icon-open", { key: 0 }) : renderSlot(e.$slots, "icon-closed", { key: 1 })
])
]),
_: 3
}, 8, ["aria-expanded", "onClick", "class", "variant"]);
}
const VsAccordionToggle = /* @__PURE__ */ _export_sfc(_sfc_main$2q, [["render", _sfc_render$2c]]);
var commonjsGlobal = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
function getDefaultExportFromCjs$1(e) {
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
}
function getAugmentedNamespace(e) {
if (e.__esModule) return e;
var n = e.default;
if (typeof n == "function") {
var t = function a() {
return this instanceof a ? Reflect.construct(n, arguments, this.constructor) : n.apply(this, arguments);
};
t.prototype = n.prototype;
} else t = {};
return Object.defineProperty(t, "__esModule", { value: !0 }), Object.keys(e).forEach(function(a) {
var r = Object.getOwnPropertyDescriptor(e, a);
Object.defineProperty(t, a, r.get ? r : {
enumerable: !0,
get: function() {
return e[a];
}
});
}), t;
}
var lodash = { exports: {} };
/**
* @license
* Lodash <https://lodash.com/>
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
* Released under MIT license <https://lodash.com/license>
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
*/
lodash.exports;
(function(e, n) {
(function() {
var t, a = "4.17.21", r = 200, o = "Unsupported core-js use. Try https://npms.io/search?q=ponyfill.", l = "Expected a function", c = "Invalid `variable` option passed into `_.template`", d = "__lodash_hash_undefined__", p = 500, f = "__lodash_placeholder__", m = 1, _ = 2, v = 4, k = 1, C = 2, V = 1, E = 2, T = 4, L = 8, O = 16, R = 32, M = 64, q = 128, F = 256, se = 512, fe = 30, ae = "...", he = 800, ie = 16, ue = 1, Ae = 2, xe = 3, we = 1 / 0, X = 9007199254740991, de = 17976931348623157e292, pe = NaN, be = 4294967295, Be = be - 1, U = be >>> 1, W = [
["ary", q],
["bind", V],
["bindKey", E],
["curry", L],
["curryRight", O],
["flip", se],
["partial", R],
["partialRight", M],
["rearg", F]
], G = "[object Arguments]", ve = "[object Array]", ce = "[object AsyncFunction]", _e = "[object Boolean]", me = "[object Date]", le = "[object DOMException]", ge = "[object Error]", Ce = "[object Function]", Ve = "[object GeneratorFunction]", $e = "[object Map]", Fe = "[object Number]", De = "[object Null]", We = "[object Object]", st = "[object Promise]", Q = "[object Proxy]", at = "[object RegExp]", He = "[object Set]", dt = "[object String]", ot = "[object Symbol]", _t = "[object Undefined]", lt = "[object WeakMap]", jt = "[object WeakSet]", Kt = "[object ArrayBuffer]", bt = "[object DataView]", Fn = "[object Float32Array]", B = "[object Float64Array]", w = "[object Int8Array]", S = "[object Int16Array]", I = "[object Int32Array]", j = "[object Uint8Array]", Y = "[object Uint8ClampedArray]", ee = "[object Uint16Array]", Oe = "[object Uint32Array]", et = /\b__p \+= '';/g, Qe = /\b(__p \+=) '' \+/g, tt = /(__e\(.*?\)|\b__t\)) \+\n'';/g, Ke = /&(?:amp|lt|gt|quot|#39);/g, oo = /[&<>"']/g, Ds = RegExp(Ke.source), Fs = RegExp(oo.source), qs = /<%-([\s\S]+?)%>/g, js = /<%([\s\S]+?)%>/g, io = /<%=([\s\S]+?)%>/g, Us = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, Hs = /^\w*$/, zs = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, Kr = /[\\^$.*+?()[\]{}|]/g, Ws = RegExp(Kr.source), Gr = /^\s+/, Ks = /\s/, Gs = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, Ys = /\{\n\/\* \[wrapped with (.+)\] \*/, Js = /,? & /, Qs = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g, Zs = /[()=,{}\[\]\/\s]/, Xs = /\\(\\)?/g, el = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g, so = /\w*$/, tl = /^[-+]0x[0-9a-f]+$/i, nl = /^0b[01]+$/i, rl = /^\[object .+?Constructor\]$/, al = /^0o[0-7]+$/i, ol = /^(?:0|[1-9]\d*)$/, il = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g, or = /($^)/, sl = /['\n\r\u2028\u2029\\]/g, ir = "\\ud800-\\udfff", ll = "\\u0300-\\u036f", cl = "\\ufe20-\\ufe2f", ul = "\\u20d0-\\u20ff", lo = ll + cl + ul, co = "\\u2700-\\u27bf", uo = "a-z\\xdf-\\xf6\\xf8-\\xff", dl = "\\xac\\xb1\\xd7\\xf7", fl = "\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf", hl = "\\u2000-\\u206f", pl = " \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000", fo = "A-Z\\xc0-\\xd6\\xd8-\\xde", ho = "\\ufe0e\\ufe0f", po = dl + fl + hl + pl, Yr = "['’]", ml = "[" + ir + "]", mo = "[" + po + "]", sr = "[" + lo + "]", go = "\\d+", gl = "[" + co + "]", _o = "[" + uo + "]", yo = "[^" + ir + po + go + co + uo + fo + "]", Jr = "\\ud83c[\\udffb-\\udfff]", _l = "(?:" + sr + "|" + Jr + ")", vo = "[^" + ir + "]", Qr = "(?:\\ud83c[\\udde6-\\uddff]){2}", Zr = "[\\ud800-\\udbff][\\udc00-\\udfff]", $n = "[" + fo + "]", bo = "\\u200d", wo = "(?:" + _o + "|" + yo + ")", yl = "(?:" + $n + "|" + yo + ")", ko = "(?:" + Yr + "(?:d|ll|m|re|s|t|ve))?", So = "(?:" + Yr + "(?:D|LL|M|RE|S|T|VE))?", Co = _l + "?", xo = "[" + ho + "]?", vl = "(?:" + bo + "(?:" + [vo, Qr, Zr].join("|") + ")" + xo + Co + ")*", bl = "\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])", wl = "\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])", $o = xo + Co + vl, kl = "(?:" + [gl, Qr, Zr].join("|") + ")" + $o, Sl = "(?:" + [vo + sr + "?", sr, Qr, Zr, ml].join("|") + ")", Cl = RegExp(Yr, "g"), xl = RegExp(sr, "g"), Xr = RegExp(Jr + "(?=" + Jr + ")|" + Sl + $o, "g"), $l = RegExp([
$n + "?" + _o + "+" + ko + "(?=" + [mo, $n, "$"].join("|") + ")",
yl + "+" + So + "(?=" + [mo, $n + wo, "$"].join("|") + ")",
$n + "?" + wo + "+" + ko,
$n + "+" + So,
wl,
bl,
go,
kl
].join("|"), "g"), Vl = RegExp("[" + bo + ir + lo + ho + "]"), El = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/, Bl = [
"Array",
"Buffer",
"DataView",
"Date",
"Error",
"Float32Array",
"Float64Array",
"Function",
"Int8Array",
"Int16Array",
"Int32Array",
"Map",
"Math",
"Object",
"Promise",
"RegExp",
"Set",
"String",
"Symbol",
"TypeError",
"Uint8Array",
"Uint8ClampedArray",
"Uint16Array",
"Uint32Array",
"WeakMap",
"_",
"clearTimeout",
"isFinite",
"parseInt",
"setTimeout"
], Nl = -1, Xe = {};
Xe[Fn] = Xe[B] = Xe[w] = Xe[S] = Xe[I] = Xe[j] = Xe[Y] = Xe[ee] = Xe[Oe] = !0, Xe[G] = Xe[ve] = Xe[Kt] = Xe[_e] = Xe[bt] = Xe[me] = Xe[ge] = Xe[Ce] = Xe[$e] = Xe[Fe] = Xe[We] = Xe[at] = Xe[He] = Xe[dt] = Xe[lt] = !1;
var Ze = {};
Ze[G] = Ze[ve] = Ze[Kt] = Ze[bt] = Ze[_e] = Ze[me] = Ze[Fn] = Ze[B] = Ze[w] = Ze[S] = Ze[I] = Ze[$e] = Ze[Fe] = Ze[We] = Ze[at] = Ze[He] = Ze[dt] = Ze[ot] = Ze[j] = Ze[Y] = Ze[ee] = Ze[Oe] = !0, Ze[ge] = Ze[Ce] = Ze[lt] = !1;
var Tl = {
// Latin-1 Supplement block.
À: "A",
Á: "A",
Â: "A",
Ã: "A",
Ä: "A",
Å: "A",
à: "a",
á: "a",
â: "a",
ã: "a",
ä: "a",
å: "a",
Ç: "C",
ç: "c",
Ð: "D",
ð: "d",
È: "E",
É: "E",
Ê: "E",
Ë: "E",
è: "e",
é: "e",
ê: "e",
ë: "e",
Ì: "I",
Í: "I",
Î: "I",
Ï: "I",
ì: "i",
í: "i",
î: "i",
ï: "i",
Ñ: "N",
ñ: "n",
Ò: "O",
Ó: "O",
Ô: "O",
Õ: "O",
Ö: "O",
Ø: "O",
ò: "o",
ó: "o",
ô: "o",
õ: "o",
ö: "o",
ø: "o",
Ù: "U",
Ú: "U",
Û: "U",
Ü: "U",
ù: "u",
ú: "u",
û: "u",
ü: "u",
Ý: "Y",
ý: "y",
ÿ: "y",
Æ: "Ae",
æ: "ae",
Þ: "Th",
þ: "th",
ß: "ss",
// Latin Extended-A block.
Ā: "A",
Ă: "A",
Ą: "A",
ā: "a",
ă: "a",
ą: "a",
Ć: "C",
Ĉ: "C",
Ċ: "C",
Č: "C",
ć: "c",
ĉ: "c",
ċ: "c",
č: "c",
Ď: "D",
Đ: "D",
ď: "d",
đ: "d",
Ē: "E",
Ĕ: "E",
Ė: "E",
Ę: "E",
Ě: "E",
ē: "e",
ĕ: "e",
ė: "e",
ę: "e",
ě: "e",
Ĝ: "G",
Ğ: "G",
Ġ: "G",
Ģ: "G",
ĝ: "g",
ğ: "g",
ġ: "g",
ģ: "g",
Ĥ: "H",
Ħ: "H",
ĥ: "h",
ħ: "h",
Ĩ: "I",
Ī: "I",
Ĭ: "I",
Į: "I",
İ: "I",
ĩ: "i",
ī: "i",
ĭ: "i",
į: "i",
ı: "i",
Ĵ: "J",
ĵ: "j",
Ķ: "K",
ķ: "k",
ĸ: "k",
Ĺ: "L",
Ļ: "L",
Ľ: "L",
Ŀ: "L",
Ł: "L",
ĺ: "l",
ļ: "l",
ľ: "l",
ŀ: "l",
ł: "l",
Ń: "N",
Ņ: "N",
Ň: "N",
Ŋ: "N",
ń: "n",
ņ: "n",
ň: "n",
ŋ: "n",
Ō: "O",
Ŏ: "O",
Ő: "O",
ō: "o",
ŏ: "o",
ő: "o",
Ŕ: "R",
Ŗ: "R",
Ř: "R",
ŕ: "r",
ŗ: "r",
ř: "r",
Ś: "S",
Ŝ: "S",
Ş: "S",
Š: "S",
ś: "s",
ŝ: "s",
ş: "s",
š: "s",
Ţ: "T",
Ť: "T",
Ŧ: "T",
ţ: "t",
ť: "t",
ŧ: "t",
Ũ: "U",
Ū: "U",
Ŭ: "U",
Ů: "U",
Ű: "U",
Ų: "U",
ũ: "u",
ū: "u",
ŭ: "u",
ů: "u",
ű: "u",
ų: "u",
Ŵ: "W",
ŵ: "w",
Ŷ: "Y",
ŷ: "y",
Ÿ: "Y",
Ź: "Z",
Ż: "Z",
Ž: "Z",
ź: "z",
ż: "z",
ž: "z",
IJ: "IJ",
ij: "ij",
Œ: "Oe",
œ: "oe",
ʼn: "'n",
ſ: "s"
}, Al = {
"&": "&",
"<": "<",
">": ">",
'"': """,
"'": "'"
}, Ll = {
"&": "&",
"<": "<",
">": ">",
""": '"',
"'": "'"
}, Il = {
"\\": "\\",
"'": "'",
"\n": "n",
"\r": "r",
"\u2028": "u2028",
"\u2029": "u2029"
}, Ol = parseFloat, Rl = parseInt, Vo = typeof commonjsGlobal == "object" && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal, Pl = typeof self == "object" && self && self.Object === Object && self, mt = Vo || Pl || Function("return this")(), ea = n && !n.nodeType && n, _n = ea && !0 && e && !e.nodeType && e, Eo = _n && _n.exports === ea, ta = Eo && Vo.process, It = function() {
try {
var H = _n && _n.require && _n.require("util").types;
return H || ta && ta.binding && ta.binding("util");
} catch {
}
}(), Bo = It && It.isArrayBuffer, No = It && It.isDate, To = It && It.isMap, Ao = It && It.isRegExp, Lo = It && It.isSet, Io = It && It.isTypedArray;
function Et(H, Z, J) {
switch (J.length) {
case 0:
return H.call(Z);
case 1:
return H.call(Z, J[0]);
case 2:
return H.call(Z, J[0], J[1]);
case 3:
return H.call(Z, J[0], J[1], J[2]);
}
return H.apply(Z, J);
}
function Ml(H, Z, J, ke) {
for (var Le = -1, ze = H == null ? 0 : H.length; ++Le < ze; ) {
var ft = H[Le];
Z(ke, ft, J(ft), H);
}
return ke;
}
function Ot(H, Z) {
for (var J = -1, ke = H == null ? 0 : H.length; ++J < ke && Z(H[J], J, H) !== !1; )
;
return H;
}
function Dl(H, Z) {
for (var J = H == null ? 0 : H.length; J-- && Z(H[J], J, H) !== !1; )
;
return H;
}
function Oo(H, Z) {
for (var J = -1, ke = H == null ? 0 : H.length; ++J < ke; )
if (!Z(H[J], J, H))
return !1;
return !0;
}
function ln(H, Z) {
for (var J = -1, ke = H == null ? 0 : H.length, Le = 0, ze = []; ++J < ke; ) {
var ft = H[J];
Z(ft, J, H) && (ze[Le++] = ft);
}
return ze;
}
function lr(H, Z) {
var J = H == null ? 0 : H.length;
return !!J && Vn(H, Z, 0) > -1;
}
function na(H, Z, J) {
for (var ke = -1, Le = H == null ? 0 : H.length; ++ke < Le; )
if (J(Z, H[ke]))
return !0;
return !1;
}
function nt(H, Z) {
for (var J = -1, ke = H == null ? 0 : H.length, Le = Array(ke); ++J < ke; )
Le[J] = Z(H[J], J, H);
return Le;
}
function cn(H, Z) {
for (var J = -1, ke = Z.length, Le = H.length; ++J < ke; )
H[Le + J] = Z[J];
return H;
}
function ra(H, Z, J, ke) {
var Le = -1, ze = H == null ? 0 : H.length;
for (ke && ze && (J = H[++Le]); ++Le < ze; )
J = Z(J, H[Le], Le, H);
return J;
}
function Fl(H, Z, J, ke) {
var Le = H == null ? 0 : H.length;
for (ke && Le && (J = H[--Le]); Le--; )
J = Z(J, H[Le], Le, H);
return J;
}
function aa(H, Z) {
for (var J = -1, ke = H == null ? 0 : H.length; ++J < ke; )
if (Z(H[J], J, H))
return !0;
return !1;
}
var ql = oa("length");
function jl(H) {
return H.split("");
}
function Ul(H) {
return H.match(Qs) || [];
}
function Ro(H, Z, J) {
var ke;
return J(H, function(Le, ze, ft) {
if (Z(Le, ze, ft))
return ke = ze, !1;
}), ke;
}
function cr(H, Z, J, ke) {
for (var Le = H.length, ze = J + (ke ? 1 : -1); ke ? ze-- : ++ze < Le; )
if (Z(H[ze], ze, H))
return ze;
return -1;
}
function Vn(H, Z, J) {
return Z === Z ? tc(H, Z, J) : cr(H, Po, J);
}
function Hl(H, Z, J, ke) {
for (var Le = J - 1, ze = H.length; ++Le < ze; )
if (ke(H[Le], Z))
return Le;
return -1;
}
function Po(H) {
return H !== H;
}
function Mo(H, Z) {
var J = H == null ? 0 : H.length;
return J ? sa(H, Z) / J : pe;
}
function oa(H) {
return function(Z) {
return Z == null ? t : Z[H];
};
}
function ia(H) {
return function(Z) {
return H == null ? t : H[Z];
};
}
function Do(H, Z, J, ke, Le) {
return Le(H, function(ze, ft, Je) {
J = ke ? (ke = !1, ze) : Z(J, ze, ft, Je);
}), J;
}
function zl(H, Z) {
var J = H.length;
for (H.sort(Z); J--; )
H[J] = H[J].value;
return H;
}
function sa(H, Z) {
for (var J, ke = -1, Le = H.length; ++ke < Le; ) {
var ze = Z(H[ke]);
ze !== t && (J = J === t ? ze : J + ze);
}
return J;
}
function la(H, Z) {
for (var J = -1, ke = Array(H); ++J < H; )
ke[J] = Z(J);
return ke;
}
function Wl(H, Z) {
return nt(Z, function(J) {
return [J, H[J]];
});
}
function Fo(H) {
return H && H.slice(0, Ho(H) + 1).replace(Gr, "");
}
function Bt(H) {
return function(Z) {
return H(Z);
};
}
function ca(H, Z) {
return nt(Z, function(J) {
return H[J];
});
}
function qn(H, Z) {
return H.has(Z);
}
function qo(H, Z) {
for (var J = -1, ke = H.length; ++J < ke && Vn(Z, H[J], 0) > -1; )
;
return J;
}
function jo(H, Z) {
for (var J = H.length; J-- && Vn(Z, H[J], 0) > -1; )
;
return J;
}
function Kl(H, Z) {
for (var J = H.length, ke = 0; J--; )
H[J] === Z && ++ke;
return ke;
}
var Gl = ia(Tl), Yl = ia(Al);
function Jl(H) {
return "\\" + Il[H];
}
function Ql(H, Z) {
return H == null ? t : H[Z];
}
function En(H) {
return Vl.test(H);
}
function Zl(H) {
return El.test(H);
}
function Xl(H) {
for (var Z, J = []; !(Z = H.next()).done; )
J.push(Z.value);
return J;
}
function ua(H) {
var Z = -1, J = Array(H.size);
return H.forEach(function(ke, Le) {
J[++Z] = [Le, ke];
}), J;
}
function Uo(H, Z) {
return function(J) {
return H(Z(J));
};
}
function un(H, Z) {
for (var J = -1, ke = H.length, Le = 0, ze = []; ++J < ke; ) {
var ft = H[J];
(ft === Z || ft === f) && (H[J] = f, ze[Le++] = J);
}
return ze;
}
function ur(H) {
var Z = -1, J = Array(H.size);
return H.forEach(function(ke) {
J[++Z] = ke;
}), J;
}
function ec(H) {
var Z = -1, J = Array(H.size);
return H.forEach(function(ke) {
J[++Z] = [ke, ke];
}), J;
}
function tc(H, Z, J) {
for (var ke = J - 1, Le = H.length; ++ke < Le; )
if (H[ke] === Z)
return ke;
return -1;
}
function nc(H, Z, J) {
for (var ke = J + 1; ke--; )
if (H[ke] === Z)
return ke;
return ke;
}
function Bn(H) {
return En(H) ? ac(H) : ql(H);
}
function Ut(H) {
return En(H) ? oc(H) : jl(H);
}
function Ho(H) {
for (var Z = H.length; Z-- && Ks.test(H.charAt(Z)); )
;
return Z;
}
var rc = ia(Ll);
function ac(H) {
for (var Z = Xr.lastIndex = 0; Xr.test(H); )
++Z;
return Z;
}
function oc(H) {
return H.match(Xr) || [];
}
function ic(H) {
return H.match($l) || [];
}
var sc = function H(Z) {
Z = Z == null ? mt : Nn.defaults(mt.Object(), Z, Nn.pick(mt, Bl));
var J = Z.Array, ke = Z.Date, Le = Z.Error, ze = Z.Function, ft = Z.Math, Je = Z.Object, da = Z.RegExp, lc = Z.String, Rt = Z.TypeError, dr = J.prototype, cc = ze.prototype, Tn = Je.prototype, fr = Z["__core-js_shared__"], hr = cc.toString, Ye = Tn.hasOwnProperty, uc = 0, zo = function() {
var s = /[^.]+$/.exec(fr && fr.keys && fr.keys.IE_PROTO || "");
return s ? "Symbol(src)_1." + s : "";
}(), pr = Tn.toString, dc = hr.call(Je), fc = mt._, hc = da(
"^" + hr.call(Ye).replace(Kr, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
), mr = Eo ? Z.Buffer : t, dn = Z.Symbol, gr = Z.Uint8Array, Wo = mr ? mr.allocUnsafe : t, _r = Uo(Je.getPrototypeOf, Je), Ko = Je.create, Go = Tn.propertyIsEnumerable, yr = dr.splice, Yo = dn ? dn.isConcatSpreadable : t, jn = dn ? dn.iterator : t, yn = dn ? dn.toStringTag : t, vr = function() {
try {
var s = Sn(Je, "defineProperty");
return s({}, "", {}), s;
} catch {
}
}(), pc = Z.clearTimeout !== mt.clearTimeout && Z.clearTimeout, mc = ke && ke.now !== mt.Date.now && ke.now, gc = Z.setTimeout !== mt.setTimeout && Z.setTimeout, br = ft.ceil, wr = ft.floor, fa = Je.getOwnPropertySymbols, _c = mr ? mr.isBuffer : t, Jo = Z.isFinite, yc = dr.join, vc = Uo(Je.keys, Je), ht = ft.max, yt = ft.min, bc = ke.now, wc = Z.parseInt, Qo = ft.random, kc = dr.reverse, ha = Sn(Z, "DataView"), Un = Sn(Z, "Map"), pa = Sn(Z, "Promise"), An = Sn(Z, "Set"), Hn = Sn(Z, "WeakMap"), zn = Sn(Je, "create"), kr = Hn && new Hn(), Ln = {}, Sc = Cn(ha), Cc = Cn(Un), xc = Cn(pa), $c = Cn(An), Vc = Cn(Hn), Sr = dn ? dn.prototype : t, Wn = Sr ? Sr.valueOf : t, Zo = Sr ? Sr.toString : t;
function N(s) {
if (it(s) && !Ie(s) && !(s instanceof je)) {
if (s instanceof Pt)
return s;
if (Ye.call(s, "__wrapped__"))
return es(s);
}
return new Pt(s);
}
var In = /* @__PURE__ */ function() {
function s() {
}
return function(u) {
if (!rt(u))
return {};
if (Ko)
return Ko(u);
s.prototype = u;
var g = new s();
return s.prototype = t, g;
};
}();
function Cr() {
}
function Pt(s, u) {
this.__wrapped__ = s, this.__actions__ = [], this.__chain__ = !!u, this.__index__ = 0, this.__values__ = t;
}
N.templateSettings = {
/**
* Used to detect `data` property values to be HTML-escaped.
*
* @memberOf _.templateSettings
* @type {RegExp}
*/
escape: qs,
/**
* Used to detect code to be evaluated.
*
* @memberOf _.templateSettings
* @type {RegExp}
*/
evaluate: js,
/**
* Used to detect `data` property values to inject.
*
* @memberOf _.templateSettings
* @type {RegExp}
*/
interpolate: io,
/**
* Used to reference the data object in the template text.
*
* @memberOf _.templateSettings
* @type {string}
*/
variable: "",
/**
* Used to import variables into the compiled template.
*
* @memberOf _.templateSettings
* @type {Object}
*/
imports: {
/**
* A reference to the `lodash` function.
*
* @memberOf _.templateSettings.imports
*