{"version":3,"file":"ArticleSection-xLFIBmHt.js","sources":["../../src/components/article/ArticleNavHeader.vue","../../src/queries/ArticleQuery.js","../../src/queries/ArticleCategoriesQuery.js","../../src/queries/GetArticleSection.js","../../src/components/article/ArticleSection.vue"],"sourcesContent":["<template>\n <nav class=\"nav-bar\">\n <ul>\n <li :class=\"[{ active: selected === 'filter' }, 'nav-subtypes']\">\n <button\n id=\"filter-button\"\n :class=\"['button-filter', selected === 'filter' ? 'up' : 'down']\"\n aria-controls=\"filter\"\n :aria-expanded=\"selected === 'filter'\"\n @click.stop.prevent=\"toggle('filter')\"\n >\n Filters\n </button>\n <ul\n id=\"filter\"\n ref=\"filtersDropdown\"\n class=\"nav-items\"\n role=\"menu\"\n aria-labelledby=\"filter-button\"\n >\n <li :class=\"{ pressed: !parent }\">\n <router-link :to=\"{ name: 'ArticleSection' }\"> All Articles </router-link>\n </li>\n <li :class=\"{ pressed: parent === 'checklist' }\">\n <router-link\n :to=\"{\n name: 'ArticleTerm',\n params: {\n slug: 'checklist',\n type: 'category',\n },\n }\"\n >\n Checklist\n </router-link>\n </li>\n <li :class=\"{ pressed: parent === 'findings' }\">\n <router-link\n :to=\"{\n name: 'ArticleTerm',\n params: {\n slug: 'findings',\n type: 'category',\n },\n }\"\n >\n Findings\n </router-link>\n </li>\n <li :class=\"{ pressed: parent === 'map' }\">\n <router-link\n :to=\"{\n name: 'ArticleTerm',\n params: {\n slug: 'map',\n type: 'category',\n },\n }\"\n >\n Guggenheim UBS Map\n </router-link>\n </li>\n </ul>\n </li>\n <li v-if=\"categories.length\" :class=\"[{ active: selected === 'category' }, 'nav-subtypes']\">\n <button\n id=\"category-button\"\n :class=\"['button-filter', selected === 'category' ? 'up' : 'down']\"\n aria-controls=\"category\"\n :aria-expanded=\"selected === 'category'\"\n aria-haspopup=\"true\"\n type=\"button\"\n @click.stop.prevent=\"toggle('category')\"\n >\n Category<span :class=\"screenreaderOnly\"> Filter</span>\n </button>\n <ul\n id=\"category\"\n ref=\"categoriesDropdown\"\n class=\"nav-items\"\n role=\"menu\"\n aria-labelledby=\"category-button\"\n >\n <li\n v-for=\"(category, index) in categories\"\n :key=\"index\"\n role=\"none\"\n :class=\"{ pressed: filter === category.slug }\"\n >\n <router-link\n :to=\"{\n name: 'ArticleTerm',\n params: {\n type: 'category',\n slug: parent,\n subcategory: category.slug,\n },\n }\"\n role=\"menuitem\"\n :ga4-event=\"\n JSON.stringify({\n filter_location: 'posts',\n filter_type: 'category',\n filter_value: `${category.name}`,\n gtm_tag: 'filter',\n })\n \"\n >\n {{ category.name }}\n </router-link>\n </li>\n </ul>\n </li>\n </ul>\n </nav>\n</template>\n\n<script setup lang=\"ts\">\nimport { Categories } from '@/types/articles.interface';\nimport { ref } from 'vue';\nimport { screenreaderOnly } from '@/styles/a11y.module.scss';\nimport { useFilterInteractions } from '@/composables/Common.js';\n\ndefineProps<{\n categories: Array<Categories>;\n filter?: string;\n parent: string;\n}>();\n\nconst categoriesDropdown = ref(null);\nconst filtersDropdown = ref(null);\nconst selected = ref('');\n\nconst { selectNav } = useFilterInteractions(selected);\n\nfunction toggle(type: string): void {\n selectNav(type, [categoriesDropdown.value, filtersDropdown.value]);\n}\n</script>\n\n<style lang=\"scss\">\n@use '@/styles/navigation.module.scss' as *;\n</style>\n","export const articleQuery = `\n nodes {\n categories {\n nodes {\n children {\n nodes {\n description\n name\n slug\n }\n }\n description\n name\n slug\n }\n }\n coAuthors {\n description\n name\n slug\n userphoto\n }\n date\n excerpt\n featuredImage {\n node {\n altText\n sourceUrl\n }\n }\n imageSrcset\n postId\n slug\n tags {\n nodes {\n name\n slug\n }\n }\n title\n }\n`;\n","export const articleCategoriesQuery = `\n nodes {\n description\n name\n slug\n }\n`;\n","import { articleQuery } from '@/queries/ArticleQuery';\nimport { articleCategoriesQuery } from '@/queries/ArticleCategoriesQuery';\nimport gql from 'graphql-tag';\nimport { paginationQuery } from '@/queries/PaginationQuery';\n\nexport const articleSectionQuery = gql`\n query getContent(\n $author: String,\n $category: String,\n $filter: String,\n $limit: Int,\n $paged: Int,\n $parent: String,\n $subType: String,\n $subTypeValue: String,\n $tag: String,\n $type: String\n ) {\n categories(where: { parentSlug: $parent }) {\n ${articleCategoriesQuery}\n }\n posts(\n first: $limit,\n where: { authorName: $author, categoryName: $category, paged: $paged, tag: $tag }\n ) {\n ${articleQuery}\n }\n ${paginationQuery}\n }\n`;\n","<template>\n <div v-if=\"results.posts && results.posts.nodes.length\" :class=\"[$style.container, 'container']\">\n <ArticleNavHeader\n v-if=\"type === 'category' && results.categories && results.categories.nodes\"\n :categories=\"results.categories.nodes\"\n :filter=\"subcategory\"\n :parent=\"slug\"\n ></ArticleNavHeader>\n <header v-if=\"type === 'tag' || type === 'category'\" :class=\"$style.tags\">\n <nav>\n <BackLink\n component=\"ArticleSection\"\n group=\"post\"\n label=\"Articles\"\n name=\"ArticleSection\"\n ></BackLink>\n </nav>\n <h1>{{ `Articles Tagged as ${getTagName}` }}</h1>\n <div v-if=\"type === 'category'\" :class=\"[$style.description, 'space-24-32-above']\">\n <p v-html=\"getDescription\"></p>\n </div>\n </header>\n <header v-else-if=\"type === 'author'\" :class=\"$style.author\">\n <nav>\n <BackLink\n component=\"ArticleSection\"\n group=\"post\"\n label=\"Articles\"\n name=\"ArticleSection\"\n ></BackLink>\n </nav>\n <h1 v-html=\"getAuthorInfo('name')\"></h1>\n <div class=\"space-12-16-above\">\n <img :alt=\"getAuthorInfo('name')\" :src=\"proxySource(getAuthorInfo('userphoto'), 300)\" />\n <p v-html=\"getAuthorInfo('description')\"></p>\n </div>\n </header>\n <header v-else :class=\"[$style.heading, 'space-0-above', 'unspaced']\">\n <h1 class=\"no-border-above\">Articles</h1>\n <p class=\"space-24-32-above\">\n Guggenheim Articles tells the Guggenheim’s evolving story, and offers insights on visual\n culture, urbanism, and the global art world, along with regular discoveries from the\n archives.\n </p>\n </header>\n <article v-for=\"post in results.posts.nodes\" :key=\"post.postId\" :class=\"$style.list\">\n <div>\n <router-link\n :to=\"{\n name: 'ArticlePost',\n params: {\n category: getCategoryLink(post),\n slug: post.slug,\n },\n }\"\n >\n <picture class=\"aspect-container\">\n <img\n v-if=\"post.featuredImage\"\n :alt=\"post.featuredImage.node.altText\"\n :src=\"proxySource(post.featuredImage.node.sourceUrl, 400)\"\n :srcset=\"post.imageSrcset\"\n class=\"aspect-image\"\n loading=\"lazy\"\n sizes=\"(min-width: 960px) 470px, 100vw\"\n />\n </picture>\n </router-link>\n </div>\n <div :class=\"$style.content\">\n <header>\n <h2 class=\"heading-4\">\n <router-link\n :class=\"$style.title\"\n :to=\"{\n name: 'ArticlePost',\n params: {\n category: getCategoryLink(post),\n slug: post.slug,\n },\n }\"\n v-html=\"post.title\"\n ></router-link>\n </h2>\n <div :class=\"[$style.categories, 'space-12-16-above', 'subtitle-2']\">\n <time class=\"subtitle-2\" :datetime=\"post.date\">{{ post.date }}</time>\n </div>\n </header>\n <section :class=\"[$style.excerpt, 'space-12-16-above']\" v-html=\"post.excerpt\"></section>\n </div>\n </article>\n <GuggenPagination\n :bootstrap-total=\"+total\"\n :current-page=\"page\"\n :has-bootstrap=\"total > 0\"\n :per-page=\"limit\"\n :sub-category=\"subcategory\"\n :sub-type=\"type\"\n :sub-type-value=\"slug\"\n :total-page-count=\"pageCount\"\n post-type=\"post\"\n ></GuggenPagination>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ArticleNavHeader from '@/components/article/ArticleNavHeader.vue';\nimport { articleSectionQuery } from '@/queries/GetArticleSection';\nimport BackLink from '@/components/common/BackLink.vue';\nimport { Articles } from '@/types/articles.interface';\nimport { BootStrap } from '@/types/global.interface';\nimport { computed, inject, ref } from 'vue';\nimport { dataLoaded, useHandleError, useImageProxy, useMetaData } from '@/composables/Common.js';\nimport GuggenPagination from '@/components/GuggenPagination.vue';\nimport { Posts } from '@/types/articles.interface';\nimport { storeToRefs } from 'pinia';\nimport { useMainStore } from '@/stores/mainStore.js';\nimport { useQuery } from 'villus';\n\nconst props = withDefaults(\n defineProps<{\n page?: number;\n slug?: string;\n subcategory?: string;\n type?: string;\n }>(),\n { page: 1 },\n);\n\nconst bootstrap = inject<BootStrap>('bootstrap');\n\nconst { handleError } = useHandleError();\nconst { proxySource } = useImageProxy();\nconst { setMetaDescription, setMetaTitle } = useMetaData();\n\nconst store = useMainStore();\nconst { useBootstrap } = storeToRefs(store);\n\nconst limit = 8;\nconst results = ref<Articles>({});\nconst shouldSkip = ref(false);\nconst total = ref(0);\n\nconst getAuthor = computed(() => (props.type === 'author' ? props.slug : null));\nconst getCategory = computed(() => {\n if (props.type === 'category') {\n if (props.subcategory) {\n return props.subcategory;\n }\n\n return props.slug;\n }\n\n return null;\n});\nconst getDescription = computed(() => {\n if (props.slug || props.subcategory || props.type) {\n let currentDescription;\n\n if (props.subcategory) {\n currentDescription = results.value.categories.nodes.filter(\n (category) => props.subcategory === category.slug,\n );\n }\n\n if (!props.subcategory) {\n currentDescription = results.value.posts.nodes[0].categories.nodes.filter(\n (category) => props.slug === category.slug,\n );\n }\n\n return currentDescription[0].description;\n }\n\n return '';\n});\nconst getTag = computed(() => (props.type === 'tag' ? props.slug : null));\nconst getTagName = computed(() => {\n if (props.slug || props.subcategory || props.type) {\n const searchType = props.type === 'tag' ? 'tags' : 'categories';\n let currentTag;\n\n if (props.subcategory) {\n currentTag = results.value.categories.nodes.filter(\n (category) => props.subcategory === category.slug,\n );\n }\n\n if (!props.subcategory) {\n currentTag = results.value.posts.nodes[0][searchType].nodes.filter(\n (tag) => props.slug === tag.slug,\n );\n }\n\n return currentTag[0].name;\n }\n\n return '';\n});\nconst pageCount = computed(() => Math.ceil(total.value / limit));\n\nconst queryVariables = {\n author: getAuthor.value,\n category: getCategory.value,\n limit: limit,\n paged: +props.page,\n parent: props.slug,\n subType: props.type === 'author' ? 'author' : props.type === 'tag' ? 'post_tag' : 'category',\n subTypeValue: props.type === 'author' || props.type === 'tag' ? props.slug : getCategory.value,\n tag: getTag.value,\n type: 'post',\n};\n\nconst { data } = useQuery({\n onData: (data) => {\n if (Object.keys(data).length) {\n if (data.posts.nodes.length) {\n results.value.posts = data.posts;\n results.value.categories = data.categories;\n total.value = data.totalCount;\n setMetaTitle('Articles');\n setMetaDescription();\n dataLoaded();\n }\n\n if (!data.posts.nodes.length) {\n handleError(\n `ArticleSection,\n Author ${getAuthor.value},\n category ${props.subcategory},\n limit ${limit},\n paged ${props.page},\n parent ${props.slug},\n tag ${getTag.value}`,\n );\n }\n }\n },\n query: articleSectionQuery,\n skip: isNaN(props.page) || shouldSkip,\n variables: queryVariables,\n});\n\nif (isNaN(props.page)) {\n handleError(\n `ArticleSection,\n Author ${getAuthor.value},\n category ${props.subcategory},\n limit ${limit},\n paged ${props.page},\n parent ${props.slug},\n tag ${getTag.value}`,\n );\n}\n\nif (isNaN(props.page)) {\n handleError(\n 'ArticleSection',\n `Author ${getAuthor.value},\n category ${props.subcategory},\n limit ${limit},\n paged ${props.page},\n parent ${props.slug},\n tag ${getTag.value}`,\n );\n}\n\nif (useBootstrap.value) {\n shouldSkip.value = true;\n\n if (bootstrap.initial.main.posts && Object.keys(bootstrap.initial.main.posts).length) {\n results.value.posts = bootstrap.initial.main.posts.posts;\n results.value.categories = bootstrap.initial.main.posts.categories;\n total.value = bootstrap.initial.main.pagination.total_posts;\n setMetaTitle('Articles');\n setMetaDescription();\n dataLoaded();\n }\n\n if (!bootstrap.initial.main.posts || Object.keys(bootstrap.initial.main.posts).length === 0) {\n shouldSkip.value = false;\n }\n}\n\nif (!useBootstrap.value) {\n shouldSkip.value = false;\n}\n\nfunction getAuthorInfo(type: string): string {\n const match = results.value.posts.nodes[0].coAuthors.filter(\n (author) => author.slug === props.slug,\n );\n\n return match[0][type];\n}\n\nfunction getCategoryLink(post: Posts): string {\n const link = post.categories.nodes.filter((category) => category.children.nodes.length);\n\n return link[0] ? link[0].slug : post.categories.nodes[0].slug;\n}\n</script>\n\n<script lang=\"ts\">\nexport default {\n beforeRoute(params, villusClient) {\n const getCategory =\n params.type === 'category' ? (params.subcategory ? params.subcategory : params.slug) : null;\n\n return new Promise<void>((resolve, reject) => {\n villusClient\n .executeQuery({\n query: articleSectionQuery,\n variables: {\n author: params.type === 'author' ? params.slug : null,\n category: getCategory,\n limit: 8,\n paged: params.page ? +params.page : 1,\n parent: params.slug,\n subType:\n params.type === 'author' ? 'author' : params.type === 'tag' ? 'post_tag' : 'category',\n subTypeValue:\n params.type === 'author' || params.type === 'tag' ? params.slug : getCategory,\n tag: params.type === 'tag' ? params.slug : null,\n type: 'post',\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.author {\n img {\n margin-right: 0;\n width: 100%;\n }\n}\n\n.categories {\n time {\n @include space-0-above;\n }\n}\n\n.content {\n @include space-12-16-above;\n}\n\n.description {\n p {\n @include body-1;\n\n & {\n margin-top: 0;\n }\n }\n}\n\n.excerpt {\n p {\n margin-top: 0;\n }\n}\n\n.list {\n @include space-36-48-above;\n\n h3 {\n margin-top: 0;\n }\n}\n\n.title {\n text-decoration: none;\n}\n\n@media (min-width: $break-point) {\n .author {\n @include grid;\n\n & {\n grid-column: span 12;\n }\n\n h1 {\n grid-column: 1 / span 6;\n }\n\n nav {\n grid-column: span 12;\n }\n }\n\n .author {\n div {\n @include grid;\n\n & {\n grid-column: 1 / span 8;\n grid-template-columns: repeat(6, 1fr);\n }\n }\n\n img {\n grid-column: span 2;\n }\n\n p {\n grid-column: span 4;\n margin-top: 0;\n text-align: left;\n }\n }\n\n .container {\n @include grid;\n\n > article {\n grid-column: 1 / span 8;\n }\n > nav {\n grid-column: span 12;\n }\n }\n\n .content {\n margin-top: 0;\n\n header {\n h2 {\n margin-top: 0;\n }\n }\n }\n\n .description {\n @include grid;\n\n & {\n grid-template-columns: repeat(8, 1fr);\n }\n\n > * {\n grid-column: span 8;\n }\n\n p {\n grid-column: 1 / span 6;\n }\n }\n\n .heading {\n @include grid;\n\n & {\n grid-column: 1 / span 8;\n grid-template-columns: repeat(8, 1fr);\n }\n\n > * {\n grid-column: span 8;\n }\n\n p {\n grid-column: 1 / span 8;\n margin-top: 0;\n }\n }\n\n .list {\n @include grid;\n\n & {\n grid-template-columns: repeat(8, 1fr);\n }\n\n picture {\n @include space-5-above;\n }\n\n > * {\n grid-column: span 4;\n }\n }\n\n .tags {\n grid-column: span 12;\n }\n}\n</style>\n"],"names":["categoriesDropdown","ref","filtersDropdown","selected","selectNav","useFilterInteractions","toggle","type","articleQuery","articleCategoriesQuery","articleSectionQuery","gql","paginationQuery","__default__","params","villusClient","getCategory","resolve","reject","err","props","__props","bootstrap","inject","handleError","useHandleError","proxySource","useImageProxy","setMetaDescription","setMetaTitle","useMetaData","store","useMainStore","useBootstrap","storeToRefs","limit","results","shouldSkip","total","getAuthor","computed","getDescription","currentDescription","category","getTag","getTagName","searchType","currentTag","tag","pageCount","queryVariables","useQuery","data","dataLoaded","getAuthorInfo","author","getCategoryLink","post","link"],"mappings":"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"}