{"version":3,"file":"CalendarSeries-BUfKxIRM.js","sources":["../../src/queries/GetCalendarSeries.js","../../src/components/calendar/CalendarSeries.vue"],"sourcesContent":["import gql from 'graphql-tag';\n\nexport const calendarSeriesQuery = gql`\n query getSeries($slug: [String]) {\n eventSerieses(where: { slug: $slug }) {\n nodes {\n eventSeriesId\n name\n slug\n description\n eventOccurrences(first: 1000) {\n nodes {\n end {\n day\n meridiem\n month\n time\n timezone\n year\n weekday\n }\n excerpt\n eventSlug\n featuredImage {\n node {\n altText\n description\n mediaDetails {\n height\n width\n }\n sourceUrl\n }\n }\n start {\n day\n isoDate\n meridiem\n month\n time\n timezone\n year\n weekday\n }\n title\n timezoneAbbr\n }\n }\n featuredImage {\n altText\n description\n mediaDetails {\n height\n width\n }\n sourceUrl\n }\n imageSrcset\n seriesDescription\n }\n }\n }\n`;\n","<template>\n <article v-if=\"series && Object.keys(series).length\" class=\"space-0-above\">\n <PostFeaturedImage\n v-if=\"series.featuredImage\"\n :featured-image=\"series.featuredImage\"\n :srcset=\"series.imageSrcset\"\n :is-wide=\"true\"\n ></PostFeaturedImage>\n <nav>\n <BackLink\n component=\"CalendarSeries\"\n group=\"calendar\"\n label=\"Calendar\"\n name=\"CalendarSection\"\n ></BackLink>\n </nav>\n <section>\n <div :class=\"$style.content\">\n <h1 v-html=\"series.name\"></h1>\n </div>\n <ProcessContent\n v-if=\"series.seriesDescription\"\n :class=\"$style.content\"\n :content=\"series.seriesDescription\"\n wrapper=\"section\"\n ></ProcessContent>\n <div :class=\"$style.content\">\n <CalendarMonth\n v-if=\"series.eventOccurrences.nodes.length\"\n :events=\"series.eventOccurrences.nodes\"\n :first-date=\"new Date(`${appConfig.today.isoDate}T00:00:00`)\"\n :show-desc=\"true\"\n ></CalendarMonth>\n </div>\n </section>\n </article>\n <BackToTop></BackToTop>\n</template>\n\n<script setup lang=\"ts\">\nimport { AppConfig } from '@/types/global.interface';\nimport BackLink from '@/components/common/BackLink.vue';\nimport BackToTop from '@/components/common/BackToTop.vue';\nimport CalendarMonth from '@/components/calendar/CalendarMonth.vue';\nimport { calendarSeriesQuery } from '@/queries/GetCalendarSeries';\nimport { dataLoaded, useHandleError, useMetaData } from '@/composables/Common.js';\nimport { inject, ref } from 'vue';\nimport PostFeaturedImage from '@/components/common/PostFeaturedImage.vue';\nimport ProcessContent from '@/components/common/ProcessContent.vue';\nimport { SeriesInterface } from '@/types/event.interface';\nimport { useQuery } from 'villus';\n\nconst appConfig = inject<AppConfig>('appConfig');\n\nconst props = defineProps<{\n slug: string;\n}>();\n\nconst { handleError } = useHandleError();\nconst { setMetaDescription, setMetaTitle } = useMetaData();\n\nconst series = ref<SeriesInterface>({});\n\nconst { data } = useQuery({\n query: calendarSeriesQuery,\n variables: { slug: props.slug },\n onData: data => {\n if (data.eventSerieses.nodes.length) {\n series.value = data.eventSerieses.nodes[0];\n setMetaTitle(data.eventSerieses.nodes[0].name);\n setMetaDescription(data.eventSerieses.nodes[0].description);\n dataLoaded();\n }\n\n if (data.eventSerieses.nodes.length === 0) {\n handleError('CalendarSeries', props.slug);\n }\n },\n});\n</script>\n\n<script lang=\"ts\">\nexport default {\n beforeRoute(params, villusClient) {\n return new Promise<void>((resolve, reject) => {\n villusClient\n .executeQuery({\n query: calendarSeriesQuery,\n variables: {\n slug: params.slug,\n },\n })\n .then(() => resolve())\n .catch((err) => reject(err));\n });\n },\n};\n</script>\n\n<style lang=\"scss\">\n@use '@/styles/links.module.scss' as *;\n</style>\n\n<style lang=\"scss\" module>\n.content {\n p:first-of-type {\n margin-top: 0;\n }\n}\n\n@media (min-width: $break-point) {\n .content {\n @include grid-content;\n }\n}\n</style>\n"],"names":["calendarSeriesQuery","gql","__default__","params","villusClient","resolve","reject","err","appConfig","inject","props","__props","handleError","useHandleError","setMetaDescription","setMetaTitle","useMetaData","series","ref","useQuery","data","dataLoaded"],"mappings":"6gBAEO,MAAMA,EAAsBC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kDCgFpBC,EAAA,CACb,YAAYC,EAAQC,EAAc,CAChC,OAAO,IAAI,QAAc,CAACC,EAASC,IAAW,CAC5CF,EACG,aAAa,CACZ,MAAOJ,EACP,UAAW,CACT,KAAMG,EAAO,IAAA,CACf,CACD,EACA,KAAK,IAAME,GAAS,EACpB,MAAOE,GAAQD,EAAOC,CAAG,CAAC,CAAA,CAC9B,CAAA,CAEL,6DA5CM,MAAAC,EAAYC,EAAkB,WAAW,EAEzCC,EAAQC,EAIR,CAAE,YAAAC,CAAY,EAAIC,EAAe,EACjC,CAAE,mBAAAC,EAAoB,aAAAC,CAAa,EAAIC,EAAY,EAEnDC,EAASC,EAAqB,EAAE,EAErB,OAAAC,EAAS,CACxB,MAAOnB,EACP,UAAW,CAAE,KAAMU,EAAM,IAAK,EAC9B,OAAQU,GAAQ,CACVA,EAAK,cAAc,MAAM,SAC3BH,EAAO,MAAQG,EAAK,cAAc,MAAM,CAAC,EACzCL,EAAaK,EAAK,cAAc,MAAM,CAAC,EAAE,IAAI,EAC7CN,EAAmBM,EAAK,cAAc,MAAM,CAAC,EAAE,WAAW,EAC/CC,EAAA,GAGTD,EAAK,cAAc,MAAM,SAAW,GAC1BR,EAAA,iBAAkBF,EAAM,IAAI,CAC1C,CAEH,CAAA"}